Hur stänger jag temporärt av autoincrement i en existerande tabell? Prova istället att skapa en ny tabell med samma struktur fast ditt id-fält inte är autoinc. Kopiera sedan över datat och därefter sätter du på räknaren via ADOX eller en sql-sats. Jag läste inte ordentligt, tog för givet att det var en SQL-server. Hur som helst: På SQL-server är det detta som gäller om man vill skriva till identity-kolumnen Testa att kör en insert fråga. Har för mig att det går. Vet däremot inte om det bara går om tabellen är tom.Autoincrement/Räknare
    
    
Detta vill jag göra för att kopiera över vissa rader från en annan tabell.
OBS! Dessa två tabeller har helt olika strukturer...
Eller finns det något annat sätt att sätta in de id jag själv vill fast autoincrement är true???
Jag skapar en tabell PeriodontalEx med primärnyckeln PeriodontalExID
som jag sätter autoincrement till True.
Jag vill temporärt sätta denna till false för att kopiera över vissa rader från en annan tabell, för att behålla samma id som de raderna hade i den gamla tabellen - den gamla tabellen har inte samma struktur som den nya. Sedan vill jag sätta tillbaks autoincrement till true eftersom jag vill använda det för nya rader som skapas.
    Dim aCol As New ADOX.Column
    Dim aTable As ADOX.Table
    Dim adoxCat As ADOX.Catalog
    Set adoxCat = New ADOX.Catalog
    adoxCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & "C:\Databaser\Databas.MDB" & ";"
    
    Set aTable = adoxCat.Tables("PeriodontalEx")
    aCol.Name = "PeriodontalExId"
    aCol.ParentCatalog = adoxCat
    aCol.Properties("AutoIncrement") = False
    
    ' I vanliga fall gör man aTable.append acol men kolumnen finns redan.........
    Set aCol = Nothing
    Set aTable = NothingSv: Autoincrement/Räknare
    
    
/PelleSv: Autoincrement/Räknare
    
    
SET IDENTITY_INSERT [ database. [ owner. ] ] { table } { ON | OFF }
glöm inte bort att slå på identity igen efter er.
/johan/Sv: Autoincrement/Räknare