Avatar billede javid Nybegynder
06. marts 2001 - 08:49 Der er 6 kommentarer og
5 løsninger

Post

Når man opretter et tabel i access, starter post nr. altid med 1. Hvordan kan man få den til at starte fra f.eks. 1000 og op efter?

Hilsen
JJ
Avatar billede ikuyucu Nybegynder
06. marts 2001 - 08:56 #1
Nej det kan du ikke. Hvis du mener autonummerering, kan du have et ekstra felt ved siden af hvor du kan lægge 1000 til autonum. feltet
Avatar billede privaten Nybegynder
06. marts 2001 - 08:56 #2

Du kan ved tabeloprettelse fortælle hvor i talrækken din postid skal starte
Avatar billede horus Nybegynder
06. marts 2001 - 08:57 #3
Har tidligere svaret på et lign. spørgsmål - det kan SAGTENS lade sig gøre... se her:

http://www.eksperten.dk/spm/42294


Horus
06. marts 2001 - 09:01 #4
Hej Javid,

Jeg går ud fra, at du snakker om autonummerering.
Løsningen er at indsætte en post vha en indsættelsesforespørgsel.

SQL\'en kan se således ud:

INSERT INTO [Tabel] ( ID ) SELECT 1000

hvor Tabel er skal erstattes af navnet på din tabel og ID skal erstattes af autonummer-feltet. Du skal dog være opmærksom på at hvis der er flere påkrævede felter i tabellen skal disse også angives!

Ved du hvordan du fyre sådan en SQL-sætning af?

/Thomas

Avatar billede privaten Nybegynder
06. marts 2001 - 09:08 #5
Sakset fra hjælpefilen

Change the starting value of an incrementing AutoNumber field
For a new table that contains no records, you can change the starting value of an AutoNumber field that has its NewValues property set to Increment to a number other than 1. For a table that contains records, you can also use this procedure to change the next value assigned in an AutoNumber field to a new number.

Create a temporary table with just one field, a Number field; set its FieldSize property to Long Integer and give it the same name as the AutoNumber field in the table whose value you want to change.
How?

In Datasheet view, enter a value in the Number field of the temporary table that is 1 less than the starting value you want for the AutoNumber field. For example, if you want the AutoNumber field to start at 100, enter 99 in the Number field.


Create and run an append query to append the temporary table to the table whose AutoNumber value you want to change.
How?

Note  If your original table has a primary key, you must temporarily remove the primary key before running the append query. Also, if your original table contains fields that have the Required property set to Yes, the Indexed property set to Yes (No Duplicates), or field and/or record ValidationRule property settings that prevent Null entries in fields, you must temporarily disable these settings.

Delete the temporary table.


Delete the record added by the append query.


If you had to disable property settings in step 3, return them to their original settings.
When you enter a record in the remaining table, Microsoft Access uses an AutoNumber field value 1 greater than the value you entered in the temporary table.

Note  If you want to compact the database after changing the starting AutoNumber value, make sure to add at least one record to the table first. If you don\'t, when you compact the database, the AutoNumber value for the next record added will be reset to 1 more than the highest previous value. For example, if there were no records in the table when you reset the starting value, compacting would set the AutoNumber value for the next record added to 1; if there were records in the table when you reset the starting value and the highest previous value was 50, compacting would set the AutoNumber value for the next record added to 51.

Avatar billede ikuyucu Nybegynder
06. marts 2001 - 09:28 #6
Den første post vil altid have postnummer ét og det kan man ikke lave om på. Den vil altid forekomme øverst når du foretager en forespørgsel som ikke er sorteret på den ene eller anden måde og hvor den er med i forespørgslen.

At man kan lave forskellige krumspring for at få autonum. til at starte med et bestemt tal er korrekt nok. Den letteste er at lave en form som indsætter det antal poster som man vil have autonum skal starte fra minus en og der efter slette dem. Det kan tage sin tid hvis man skal have 1 mio. men da det er en engangsforetagende betyder det jo ikke ret meget. Så behøver du heller ikke tænke på om du nu har været inde og rette de ændringer som du har foretaget i tabel bare for at kunne få lov til at ændre det.

Derfor NEJ DU KAN IKKE ÆNDRE DEN FØRSTE POST TIL AT HAVE POSTNUMMER 1000.
06. marts 2001 - 09:34 #7
Ikuyucu,

Hvorfor skal man indsætte en million poster, når man kan nøjes med at indsætte én post, som bare har ID=1.000.000?

Jeg forstår ikke hvad du mener med: \"NEJ DU KAN IKKE ÆNDRE DEN FØRSTE POST TIL AT HAVE POSTNUMMER 1000\"????

/Thomas
Avatar billede javid Nybegynder
06. marts 2001 - 09:55 #8
Hej Thomas

Nej. Jeg ved det ikke. Det vil være stor hjælp, hvis du fortæller mig det.

På fohånd tak
06. marts 2001 - 10:00 #9
Hi Javid,

Det aller nemmeste er af trykke Ctrl+G og derefter skrive:
DoCmd.RunSQL \"INSERT INTO [Tabel] ( ID ) SELECT 999\"
og trykke <ENTER> i det lille immidiate-vindue, som markøren står i.

Derved fyres SQL\'en af direkte her og nu.

Er der andre påkrævede felter i tabellen (nøglefelter eller unikke indexer)? I så fald, skal disse felter også tilføjes i SQl\'en. Men du kan så bare skrive navnene på felterne, så skal jeg nok redigere SQL\'en for dig.

/Thomas
Avatar billede ikuyucu Nybegynder
06. marts 2001 - 10:32 #10
Hej Thomas,

Det jeg mener er at vi lige skal skelne mellem en postnummer og et felt som har et autonummer.

Den måde som du sætter posterne ind på vil også være \"nummererede\". Hvis du sætter den første post ind så vil den altid være den første. Det kan du ikke lave om på. Lige meget hvad du gør så vil denne post altid være nummer et. Man kan have en interesse om at lave om på dette så postnummer et f.eks. bliver postnummer 1000. Altså at man begynder at rokere om på de forskellige pointers som der er. Dette kan man med nogle databaser men IKKE med Access. Når du har indsat den første post vil den altid være postnummer 1.

Jeg kan godt se at din SQL kommando direkte kan lave om på autonummereringen og at den er meget simpel (nok den simpelste som jeg har set), men jeg mener bare ikke at det var det der blev spurgt om.
Avatar billede privaten Nybegynder
06. marts 2001 - 10:33 #11
1: Opret en tabel med et numerisk felt
2: Opret en tabel (den rigtige) med alle de felter du skal bruge (sæt postid feltet til autonumber)
3: giv det numeriske felt i tabellen (pkt. 1) den ønskede startværdi for dit autonumberfelt (fx. 999 hvis du gerne vil starte på 1000)
4: opret en append-query over din tabel fra pkt1
5: sæt det numeriske felt til at opdatere din postid

på den måde kan du justere startværdien uden at oprette en masse tomme rækker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester