27. september 2003 - 15:13Der er
10 kommentarer og 2 løsninger
Problem med autonummerering
Jeg har en database hvor jeg bruger autonummerering som primærnøgle i første kolonne. I databasen sletter jeg ofte forskellige rækker og har i den forbindelse to spørgsmål: 1. Hvordan undgår jeg at der kommer "huller" i talrækkefølgen? 2. Hvordan får jeg autonummereringen til at tælle fra sidste post (efter sletning af de fx. 5 nederste rækker) frem for at den starter fra det nummer den oprindeligt var nået til? Håber der er nogle der kan hjælpe. Jeg uddyber gerne hvis ovenstående ikke er klart nok.
Et autonummerfelt kan faktisk ikke "redigeres på anden måde, end at komprimere databasen og så vil den tælle fra den højeste værdi +1. Og det vil du jo netop undgå. Men det skitserede kan du ikke.
Så skal du en helt anden vej, og ikke bruge autonummerering, men kode dig ud af det i VBA.
Men hvorfor vil du egentlig det? Normalt bruger man ikke autonumrer til andet end at holde styr på posterne (hvilket jo også er en vigtig ting), men det er da fuldstændig ligegyldigt hvilket nummer db er nået til. Du skal ikke brugere nummeret - Db skal.
Men kan du uddyber lidt nærmere, så kan det være, at der muligvis er en alternativ løsning.
dont>If you are using an autonumber as your primary key then there is NO reason at all to "fill" holes. You should never have to think about what values each record has. You could say they are just values used for putting in foreign keys of related tables. If you deleted the last five records then you can re-use these values by compacting the dB.
tak fordi I gjorde Jer besværet. Jeg har fjernet autonummereringen fra databasen og bruger istedet asp til bare at sætte et tal ind for hver række, da databasen skal vises på en webside. Det virker fint. Grunden til at jeg ikke ville have huller og samtidig ville have tælleren til at starte +1 efter sidste værdi var at jeg skulle bruge overblik over hvor mange rækker der var......Anyway, jeg har hvad jeg skal bruge nu, men tak for hjælpen alligevel.
ok, tak. Men jeg ønskede på en web-side at kunne se hvad nr. hver enkelt række har. Det kan jeg nu, da asp-koden bare sørger for at sætte et nr. ud for hver række og pludse med én hver gang. Det virker perfekt.
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.