Avatar billede connor Nybegynder
17. oktober 2003 - 13:01 Der er 23 kommentarer og
3 løsninger

Problem med autonumerering i access

Jeg har en tabel i access der er sat til autonumerering.

Problemet er at jeg har slettet de nederste rækker og hver gang jeg skal tilføje en ny række er nummeret forkert.

Access fortsætter med de numre så de nye rækker skulle have hvis IKKE der var blevet slettet nogle rækker...

Der er således et "hul" i databasen.

Hvordan kan jeg rette dette?
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:05 #1
Slet ned til de poster hvor du vil havde de skal starte igen, derefter komprimere du , så er den der
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:07 #2
Rettelse:
Slet ned til de poster, hvor du vil havde Autunummeringen skal starte igen, derefter komprimere du , så er den der.
Vh Henrik13
Avatar billede connor Nybegynder
17. oktober 2003 - 13:07 #3
OK, men hvor fælger jeg denne komprimering?

Jeg bruger access 2002
Avatar billede jkrons Professor
17. oktober 2003 - 13:10 #4
Funktioner - Databasefunktioner . Komprimer og reparer.

Men husk at autonumre som hovedregel ikke genbruges. Sletter du nogen numre mellem andre numre, er de brugt "for altid". Det er kun de numre, der ligger i slutningen af rækken, der "genskabes" ved en komprimering.
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:10 #5
Gå i :
Functioner
indstillinger
generelt
her krydser du af for komprimering ved lukning,
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:13 #6
Hvis du bruger jkons metode gør den det kun 1 gang, min gør det hvergang der lukkes.
Avatar billede jkrons Professor
17. oktober 2003 - 13:15 #7
henrik-> Enig, men du sletter forhåbentlig ikke de sidste poster, hver gang du er inde i databasen :-)  Derfor kan der selvfølgelig være god grund til at komprimere alligevel ;-))
Avatar billede connor Nybegynder
17. oktober 2003 - 13:22 #8
Tak for det...

Men problemet er der stadig...
Når jeg prøvet at tilføje en ny række kommer der et nummer langt højere end det som jeg har slettet ned til.
Alså mellemrumet er der stadig...
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:25 #9
Så har du ikke gjort som jeg skrev:
Slet ned til de poster, hvor du vil havde Autunummeringen skal starte igen,
Avatar billede jkrons Professor
17. oktober 2003 - 13:25 #10
Hvis det er tilfældet, og du ikke kan rette på det ved at komprimere, kan du importere alle dine data ind i en ny tabel, slette den gamle og omdøbe den nye. så skulle du være kørende igen, og husk at lade være med at bruge autonummer, hvis der skal være og forblive en fortløbende nummerrækkefølge.
Avatar billede jkrons Professor
17. oktober 2003 - 13:26 #11
Hvis du fx begynder at oprette en post, men af en eller anden grund frotryder, er autonummeret brugt, og vil ikke blive genbrugt.
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:28 #12
Jo det vil ved komprimering inden ny post oprettes.
Avatar billede jkrons Professor
17. oktober 2003 - 13:31 #13
henrik13-> Du har selvfølgelig ret, men hvor mange sidder og husker at komprimere deres database (isæt hvis de "kun" er brugere og ikek databasefolk) hver gang de laver en fejlindtastning som de fortryder?
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:34 #14
Enig. Derfor også derfor jeg satte hans til fast. Jeg havde nemlig skrevet din sætning først, men rettede det.
Avatar billede jkrons Professor
17. oktober 2003 - 13:36 #15
Jo, men det hjælper kun på de, der er blever slettet sidst, ikke de, der slettes/opgives undervejs, og hvor der så oprettes flere nye senere, men inden afslutning.
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:39 #16
Enig. Men man ved jo som regel når man har droppet en post eller sletted de sidste.
Avatar billede jkrons Professor
17. oktober 2003 - 13:42 #17
Du har da selvfølgelig ret, men hvis du laver et "produktionssystem", som skal kunne bruges af andre, skal du så lære dem, at hvis de ved en fejl fortryder en oprettelse, skal de komprimere databasen inden de går videre. Det betyder også, at dit menusystem skal give adgang til komprimeringsfunktionen, eller at du skal kode din egen komprimeringsfunktion (hvilket kræver en lukning og genåbning af databasen). Efter min mening er det nemmere at lave et nummersystem, som tildeler fortløbende numre, og som du selv kan styre.
Avatar billede henrik13 Nybegynder
17. oktober 2003 - 13:47 #18
Det er jeg ikke bare enig i , men meget enig i. Jeg har prøvet at lave sådan et system, men hos mig trak det andre problemer med sig. så det er ikke bare sådan lige til.
Avatar billede terry Ekspert
17. oktober 2003 - 13:49 #19
there is a KNOWN error in Access 2000 where compressing the db doesnt set the autonumber counter to last record +1
I'll get back with a work around later.
Avatar billede jkrons Professor
17. oktober 2003 - 13:49 #20
Nej, det er ikke nemt - men det har jeg vidst heller ikke lovet :-)

Jeg mener bare at Autonummer er en uskik til numre, der SKAL være og forblive fortløbende.
Avatar billede connor Nybegynder
17. oktober 2003 - 15:16 #21
Takker for feedback...
Der opstod lige andre gøremål, men jeg prøver igen senere i dag... :-)
Avatar billede jkrons Professor
17. oktober 2003 - 15:19 #22
connor-> Ja nu blev det en snak om nummrerering generelt, men terrys svar er nok den bedste forklaring på, hvorfor du ikke kan resette dine autonumre.
Avatar billede fynbohans Nybegynder
17. oktober 2003 - 15:24 #23
Skal der ændres i nummereringen hver gang der slettes en post eller er det kun
noget du skal gøre her og nu?
Avatar billede connor Nybegynder
17. oktober 2003 - 16:41 #24
Tak for hjælpen til alle :-)

... jeg har dog løst mit problem på en anden måde idet jeg ikke kunne få autonummerering til at virke.
Så jeg har fjernet autonumerering og kodet min webaplikation således at den kan håndetere dette...

Smid nogle "svar" hvis andre end henrik13 ønsker point.
Avatar billede jkrons Professor
17. oktober 2003 - 17:04 #25
:-)
Avatar billede terry Ekspert
18. oktober 2003 - 10:46 #26
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