Avatar billede karsten_larsen Praktikant
07. juni 2003 - 23:30 Der er 4 kommentarer og
1 løsning

nulsæt automatisk ID i access tabel

Jeg har brug for at nulsætte ID i en tabel efter jeg har delete indholdet.

med følgende:
    strSQL = "DELETE * from arbejdstabel3"
    Conn.Execute(strSQL)
    Conn.Close
    Set Conn = Nothing

?:-) k_l
Avatar billede somaliomar Praktikant
07. juni 2003 - 23:39 #1
Prøv at køre funktionen Compact and Repair database. Det skulle gerne nulstille feltet.
Avatar billede erikjacobsen Ekspert
07. juni 2003 - 23:53 #2
ID-er er jo bare unikke numre. Du skal ikke begynde at lave
aritmetik på dem. Om dit nummer er 1 eller 1001 skal være ligegyldigt
for dig.
Avatar billede karsten_larsen Praktikant
08. juni 2003 - 11:20 #3
-> somaliomar, det skulle gøres gennem asp og ikke gennem åbning af filen, som nulstiller id numret. Jeg fik vist ikke formuleret mig præcist nok. Så du får point.
-> erikjacobsen, okay - jeg finder en anden måde.

:-) k_l
Avatar billede somaliomar Praktikant
08. juni 2003 - 14:05 #4
En anden løsning for at nulstille et Autonummer-felt er at slette hele feltet fra tabellen og derefter oprette feltet igen i din tabel. Sådan gør du i ASP:

    strSQL = "DELETE * from arbejdstabel3"
    Conn.Execute(strSQL)
    strSQL = "DROP INDEX PrimaryKey ON myTable"
    Conn.Execute(strSQL)
    strSQL = "ALTER TABLE myTable DROP Id"
    Conn.Execute(strSQL)
    strSQL = "ALTER TABLE myTable ADD  Id LONG NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY PrimaryKey"
    Conn.Execute(strSQL)
    Conn.Close
    Set Conn = Nothing
Avatar billede somaliomar Praktikant
08. juni 2003 - 14:30 #5
Ups... ovenstående kode virker vist ikke ...

Prøv i stedet:

<%
Sub CompactDatabase(strDBPath)
    Dim Engine
    Dim fso
    Dim strSrc
    Dim strDest
    Dim strTempDBPath
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    strTempDBPath = Left(strDBPath, InStrRev(strDBPath, "\")) & "tmpdb.mdb"
   
    If fso.FileExists(strDBPath) Then
        strSrc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath
        strDest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strTempDBPath
        Set Engine = CreateObject("JRO.JetEngine")
       
        Engine.CompactDatabase strSrc, strDest
        fso.CopyFile strTempDBPath, strDBPath
        fso.DeleteFile strTempDBPath

        Set Engine = Nothing
    End If
   
    Set fso = Nothing
End Sub

'...

    strSQL = "DELETE * from arbejdstabel3"
    Conn.Execute(strSQL)
    Conn.Close
    Set Conn = Nothing
    CompactDatabase "C:\DIN DATABASE STI\database.mdb"
%>
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
Kurser inden for grundlæggende programmering

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