27. marts 2001 - 13:39Der er
5 kommentarer og 1 løsning
Autonummering
Hej allesammen, jeg har lige et spørgsmål, jeg er igang med at lave en hjemmeside sammen med en ven, vores mdb virker godt, også på webet, vi har også lavet div, asp sider så vi kan oprette redigere og slette poster, men når der bliver slettet en post og derefter oprettet en ny bliver det gamle nummer ikke brugt, den bruger bare en der er +1 over det højeste der ellerede er brugt
så sletter jeg nr 3 og laver en ny men den heder så 6 og ikke 3 eller 5 for den sags skyld, hvorfor kan dn ikke finde ud af at enten bruge et ledeg nummer, eller også flytte nr 4 til 3 og nr 5 til 4 også skrive i nr 5?
på forhånd tak for hjælpen.
P.s. hvor mange nr går den optil? int long int sh_int eller hvad?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det er access der skoder lidt, men det må man lære at leve med, der er så vidt jeg ved ikke noget at gøre ved det....
Jeg kan love dig for, at du ikke får problemer med hvor langt oppe den går.... for hvis du får så stor en hjemmeside, så skal du alligevel til at skifte til noget andet SQL-værk!!!
Med mindre dette autonum. felt er et nøglefelt, kan Du altid \"bare\" slette feltet, komprimere & reparere DB\'n for derefter at oprette det igen. Så vil værdierne for hver enkelt post være fortløbende
ds-zim:-> Autonummereringsfelter ER som regel nøgle-felter. Men ellers har du ret. Det er dog ikke nødvendigt at komprimere og reparere db\'en. Det er nok at fjerne og oprette igen. Det løser jo heller ikke problemet på længere sigt, da der jo hurtigt vil opstå huller igen.
Jeg starter med at sige, at ideen om AUTO-felter går fløjten nu, men:
Ved at bruge følgende funktion kan du finde første ledige nummer:
Public Function NextID(Rec As String, Fld As String) As Long Dim ra As Recordset, lngDummy As Long Set ra = CurrentDb.OpenRecordset(Rec) While Not ra.EOF And NextID < 1 lngDummy = lngDummy + 1 If lngDummy <> ra(Fld) Then NextID = lngDummy ra.MoveNext Wend Set ra = Nothing End Function
Den kaldes så med =NextID(\"tabelnavn\",\"feltnavn\")
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.