Jeg har en tabel i en Access database. For eksemplets skyld siger vi, at jeg har 2 rækker. Den første er autonummeret(fra 1 og op efter) og den anden indeholder navne. Det kunne se sådan ud:
1 Palle 2 Bent 3 Irma 4 Tine
Nu vil jeg så gerne indsætte en række imellem Bent og Irma. Det bliver så Kurt der kommer ind der:
Autonummer nummererer altdi forløbendend, med mindre du har valgt at nummerere i tilfældig orden.
Posternes rækkefølge i en tabel er ligegyldig for Access, så derfor tilføjes nue poster altid i bunden. Så må du gennem sortering sikre den rigtige rækkefølge.
Du kan undlade at bruge autonummer, men så er du selv ansvarligt for at de øvrige renummereres inden du prøver at "genbruge" et nummer. Og husk, at det ALDRIG er en god idé at ændre primærnøglen i en post, hvilket du så vidt jeg kan se, er i gang med her.
Det er præcis som jkrons siger. Du skal skal være fra idéen om at autonummeret skal give mening. Det skal ikke give mening for brugerne af databasen, som heller ikke skal se dit autonummer. Autonummeret skal bare være tilgængeligt internt for Access, når du laver relationer mellem din tabeller. Hvis du virkelig vil have et fortløbende nummer kan du lave en kolonne mere med tal, som du så selv styer indholdet af.
autonummer,tal,tekst 1 1 Palle 2 2 Bent 3 4 Irma 4 5 Tine 5 4 Kurt
jesperfjoelner-> Men det kræver en manuel eller programmatisk renummerering af de øvrige numre, hvilket er lidt besværligt, hvis man har 100.000 poster og indsætter en ny nr 3 :-)
Det kan selvfølgelig godt lade sig gøre, men det er lidt fjollet!~)
Hvis du vil have et forløb, som kan tilføje kurt, så skal forløbet: *forudsætning er at du opretter et felt i din tabel, som hedder rækkefølge (decimaltal) derefter: *oprette en temp tabel, som er et kopi af din tabel *opdatere din tabel så rækkefølge bliver lig autonummereringen *tilføj fra din formular kurt og indtast rækkefølge (2,5) *tilføje alt data pånær autonummereringen til temp tabellen *slet oprindelig tabel *omdøbe temp tabellen til din tabels navn....
?~)
Synes godt om
Slettet bruger
05. december 2005 - 11:38#9
Hov, jeg glemte det vigtigste, du skal selvfølgelig sortere på rækkefølge når du tilføjer til temp tabellen!~)
Synes godt om
Slettet bruger
05. december 2005 - 11:40#10
Der er sikkert også andre forløb/muligheder, men de dækker over det samme... At det ikke umiddelbart kan lade sig gøre....
Der er faktisk en helt regulær måde at gøre det på i VBA i en opdateringsformular. Du gør det modsatte af det i de andre svar: Du flytter dataene og indsætter "Kurt" det rigtige sted! Og flytter den nuværende sidste post til en ny post. Har desværre først tid til at lave et eksempel tidligst tirsdag aften.
Synes godt om
Ny brugerNybegynder
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.