10. april 2001 - 08:57Der er
11 kommentarer og 1 løsning
Autonummering resettes
Jeg har en Access 2000 database, med 5 tabeller. Alle med ID autonummering, i sprink på 10.000 som følge: Tabel 1 id = 1 til 9.999 Tabel 2 id = 10.000 til 19.999 ovs problemet er hvis en af tabellerne er tomme og databasen bliver komprimeret resætter den alle ID`erne i de tabeller hvor der ikke er nogen data! Er der nogen der kan hjælpe med at finde en løsning ?
At tilføje en post med nummeret 10.000 minus 1, er den letteste måde.
Jeg har lige prøvet at gøre det selv. Det er rigtigt, at den nulstiller tælleren, hvis der ikke er data i!! Mystisk! Det må være en fejl i Access. Det gælder både i Access 97 og \'2000.
Jeg tror du er nødt til at lave en work-around. skal du have hjælp til dette?
Til Lars Danielsen: Man bør da jævnligt komprimere sin database for at opnå bedre performance. Især, hvis man indsætter og sletter mange poster....
det er en database hvor der sker en del indsættelser samt sletninger i, har observeret at den nogen gang bliver temmelig stor, hvor den efter en komprimering bliver væstentlig mindre og hurtiger
Men work-around, mente jeg bare, at man må kunne lave noget kode som automatisk kører en Insert-forespørgsel, inden nye data indlæses - eller lignende. Nu kender jeg ikke de nærmere detaljer for dit system, så du må lige give mig nogle facts omkring hvornår/hvorfor du sletter og indsætter data og om de altid skal starte med eks. 10.000. 20.000 osv...
/Thomas
PS: Point er altid et godt fundament for et godt samarbejde - ligesom penge er et godt fundament for et godt venskab, haha :-)
ok kort og godt så er det stifinder system jeg har bygget på omkring en access 2000 databse, via noget asp og et javascript spytter den det ud i browersen. Selve databasen består af de 5 mapper tabller som hver har et niveau level nr dertil kommer det ID som sker i spring, til sidste er den en side tabel hvor man kan gemme altmuligt information i, som bliver joinet samme i en union forspørgelse på ID Problemet er at det er ikke sikkert at de sideste tabeller er fyldt med data, hvis man har haft data og så slette det samt komrprimeret databaen vil den nullstille ID på de tabeller som er tomme. Hvilket resulter i at mit ASP ikke virker mere :-( håber at du kan hjælpe mig, er villig til at smide 50 poin mere i ?
Hmm, ASP er desværre ikke min stærke side (for at sige det diplomatisk :-) Hvis det skal styres fra ASP er det derfor ikke så meget jeg kan hjælpe dig. Hvis du derimod skulle lave det fra VBA, såå...
Men princippet er jo i hvert fald, at du, hver gang du skal til at indsætte data, først kører en Insert-query med ID=9999, 19.999 osv. (INSERT INTO Tabel2( ID ) SELECT 9999) Derefter kører du en Delete-query, hvor du sletter tilsvarende ID\'er. (DELETE FROM Tabel2 WHERE ID = 9999) Så hvis ID\'erne er blevet nulstillet, vil den automatisk sætte den næste til 10.000. Hvis data IKKE er blevet slettet, vil den bare indsætte og slette en post. Det har således ingen indflydelse på de eksisterende ID\'er og tæller.
Alt dette kan gøres via ADO og burde derfor også kunne køres gennem ASP.
helt i orden, det er nu heller ikke fordi at jeg er nogen haj til ASP, lige udmiddelbart ser din løsning ud til at virke :-)
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.