Avatar billede dj-hupi Nybegynder
23. juni 2004 - 10:48 Der er 6 kommentarer og
3 løsninger

Ændre starts ID

Hvordan ændre jeg det ?
Mit vb projekt virker kun hvis jeg starter fra 101 af nemlig...
Avatar billede jkrons Professor
23. juni 2004 - 11:14 #1
Hvis du mener hvordan du ændrer startID for et Autonummer, kan du oprette en fiktiv post i din tabel. Ret først feltet til ikke at være autonummer.Giv så posten nummer 100. Ret tilbage til autonummer. Den næste post bliver nu 101. slet så den fiktive post.
23. juni 2004 - 11:14 #2
Lav en forespørgsel, hvor du indsætter værdien 100 i tabellen:

INSERT INTO dintabel ( ID) SELECT 100
Avatar billede jkrons Professor
23. juni 2004 - 11:15 #3
Du skal lave opdateringen med en opdateribngsforespørgsel.
23. juni 2004 - 11:16 #4
Efter at have indsat denne post, skal den selvfølgelig slettes igen, hvorefter den tæller videre fra 101

Du behøver således ikke at ændre datatyper eller gøre noget som helst andet...
Avatar billede hekla Nybegynder
23. juni 2004 - 11:16 #5
Fra Acces 2002 hjælp:

Ændre startværdien i et autonummereringsfelt
I forbindelse med en ny tabel, der ikke indeholder poster, kan du ændre startværdien i et autonummereringsfelt, hvor egenskaben NyeVærdier (NewValues) er angivet til Stigende til et andet tal end 1. I forbindelse med en tabel, der indeholder poster, kan du også anvende denne procedure til at ændre den næste værdi, der er tildelt i et autonummereringsfelt, til et nyt tal.

Hvis den oprindelige tabel indeholder egenskabsindstillinger, der udelukker Null-værdier i felter, skal du ændre disse egenskaber midlertidigt. De omfatter følgende indstillinger:
Feltegenskaben Obligatorisk (Required) er angivet til Ja
Feltegenskaben Indekseret (Indexed) er angivet til Ja (ingen dubletter)
En felt- og/eller postegenskab Valideringsregel (ValidationRule), der udelukker Null-værdier i felter
Opret en midlertidig tabel med kun ét felt, som skal være af typen Tal. Angiv egenskaben Feltstørrelse (FieldSize) til Langt heltal, og giv feltet det samme navn som autonummereringfeltet i den tabel, hvis værdi du vil ændre.
Skriv en værdi, der er én (1) mindre end den startværdi, autonummereringsfeltet skal indeholde, i talfeltet i den midlertidige tabels dataarkvisning. Hvis du f.eks. ønsker, at autonummereringfeltet skal starte ved 100, skal du skrive 99 i talfeltet.
Opret og kør en tilføjelsesforespørgsel for at føje den midlertidige tabel til den tabel, hvor du vil ændre værdien i autonummereringsfeltet.
Sådan gør du

Opret en forespørgsel, der indeholder de tabeller, hvis poster du vil føje til en anden tabel.
Sådan gør du

Klik på Forespørgsler  under Objekter i databasevinduet, og klik derefter på Ny på værktøjslinjen i databasevinduet.
Klik i dialogboksen Ny forespørgsel på Designvisning, og klik derefter på OK.
Klik i dialogboksen Vis tabel på den fane, der viser de tabeller eller forespørgsler, hvis data du vil arbejde med.
Dobbeltklik på navnet på hvert objekt, du vil føje til forespørgslen, og klik derefter på Luk.
Tilføj felter i rækken Felt i designgitteret, og angiv eventuelt kriterier og en sorteringsrækkefølge.
Klik på Vis  på værktøjslinjen, hvis du vil se forespørgselsresultaterne.
Klik på pilen ud for Forespørgselstype  på værktøjslinjen i forespørgselsdesign, og klik derefter på Tilføjelse. Dialogboksen Tilføjelse vises.
Skriv navnet på den tabel, du vil føje poster til, i boksen Tabelnavn.
Benyt en af følgende fremgangsmåder:
Klik på Aktuel database, hvis tabellen findes i den aktuelt åbne database.

Hvis tabellen ikke er i den aktuelt åbne database, skal du klikke på En anden database og skrive stien til den database, hvor tabellen er gemt, eller klikke på Gennemse for at finde databasen. Du kan også indtaste en sti til en database i Microsoft FoxPro, Paradox eller dBASE, eller du kan indtaste en tilslutningsstreng til en SQL-database.

Klik på OK.
Træk de felter, du vil tilføje, og de felter, du vil anvende til at angive kriterier fra feltlisten, til forespørgselsgitteret.
Hvis alle felterne i begge tabeller har samme navn, kan du nøjes med at trække stjernen (*) til forespørgselsgitteret. Hvis du arbejder i en databasereplika, skal du dog tilføje alle felterne.

Hvis du har et felt med datatypen Autonummerering, skal du gøre følgende:
Tilføje autonummereringsværdier automatisk

Hvis der automatisk skal tilføjes autonummereringsværdier, skal du ikke trække autonummereringsfeltet til forespørgselsgitteret, når du opretter forespørgslen.

Med denne metode tilføjes poster, og der indsættes automatisk autonummereringsværdier. Den post, der er tilføjet først, har en værdi, der er én højere end den højeste indtastning, der overhovedet er indtastet i autonummereringsfeltet (selvom den post, der har indeholdt den største autonummereringsværdi, er slettet).

Brug denne metode, hvis autonummereringsfeltet i den tabel, du tilføjer, er en primær nøgle, og den oprindelige tabel og den tabel, du tilføjer, indeholder dublerede autonummereringsværdier.

Bevare autonummereringsværdierne fra den oprindelige tabel

Hvis du vil bevare autonummereringsværdierne fra den oprindelige tabel, skal du trække autonummereringsfeltet til forespørgselsgitteret, når du opretter forespørgslen.

Hvis de felter, du har markeret, har samme navn i begge tabeller, udfylder programmet automatisk det tilsvarende navn i rækken Føj til. Hvis felterne i de to tabeller ikke har samme navn, skal du i rækken Føj til skrive navnene på felterne i den tabel, du tilføjer.
I cellen Kriterier skal du, for de felter, du har trukket til gitteret, skrive kriterierne for tilføjelserne.
Klik på Visning  på værktøjslinjen, hvis du vil se de poster, forespørgslen tilføjer. Hvis du vil vende tilbage til forespørgselsdesign, skal du klikke på Visning  på værktøjslinjen igen. Foretag de ønskede ændringer i designvisning.
Klik på Kør  på værktøjslinjen, hvis du vil tilføje poster.
Slet den midlertidige tabel.
Slet den post, der er tilføjet ved hjælp af tilføjelsesforespørgslen.
Sæt egenskabsindstillingerne i trin 1 tilbage til deres oprindelige indstillinger, hvis du har været nødt til at deaktivere dem.
Når du indtaster en post i den tabel, der er tilbage, anvendes en værdi i autonummereringsfeltet, der er én (1) større end den værdi, du har indtastet i den midlertidige tabel.
Avatar billede dj-hupi Nybegynder
23. juni 2004 - 11:18 #6
Fik det til at virke selv ;)
Avatar billede jkrons Professor
23. juni 2004 - 11:21 #7
thomasjepsen-> Man skal ikke sidde og rette databaseopgaver med den ene hjernehalvdel, mens man besvarer spørgdmål her med den anden. Så går det ofte galt, som du kan se at mit forkølede svar :-)
23. juni 2004 - 11:23 #8
Ja, jeg undrede mig også over, at det skulle være så besværligt, for så lidt :o)

Det med at ændre et autonummerfelt til alm. langt heltal kan jo også være lidt omstændigt, da feltet ofte indgår i flere relationer, som så skal slettes først.
Avatar billede dj-hupi Nybegynder
23. juni 2004 - 11:24 #9
Hehe jamen jeg fik den hele tiden til at starte ved 1 og det pissede mig lidt af :P
Meeen den gav sig tilsidst :D

Rasmus
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