Avatar billede harlequin Nybegynder
10. april 2001 - 08:57 Der 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 ?

Harlequin

10. april 2001 - 09:03 #1
hvordan styrer du, at de skal starte fra f.eks. 10.000?
Avatar billede harlequin Nybegynder
10. april 2001 - 09:07 #2
køre en tilføjelses forespørgsel f.eks 9.999
kan man gøre det på en anden måde ?
Avatar billede ldanielsen Nybegynder
10. april 2001 - 09:18 #3
Lad være med at komprimere databasen! Hvorfor vil du gøre det?
10. april 2001 - 09:21 #4
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....

/Thomas
Avatar billede harlequin Nybegynder
10. april 2001 - 09:23 #5
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
Avatar billede harlequin Nybegynder
10. april 2001 - 09:26 #6
det undrede også mig at den nulstiler ID

work-around vil jeg gerne have hjælp til, hvad består det i ? og skal der flere point i ?
10. april 2001 - 09:32 #7
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 :-)
Avatar billede harlequin Nybegynder
10. april 2001 - 09:39 #8
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 ?
10. april 2001 - 10:20 #9
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.

Jeg ved ikke om jeg er helt gal på den?

/Thomas
Avatar billede harlequin Nybegynder
10. april 2001 - 10:31 #10
tak for dit svar jeg vil straks gå igang med at arbejde på det, det er ikke en fulkommen løsning så du må nøjes med de 50

Harlequin
10. april 2001 - 10:34 #11
helt ok :-))
(jeg må se at finde en eftermiddag, hvor jeg kan lære det der APS..SPA..SAP..nå ja: PHP :-)
Avatar billede harlequin Nybegynder
10. april 2001 - 10:58 #12
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 :-)
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