Under flytting av bak-databasen vår fra Access til MSSql server så gikk det meste greit bortsett fra att nye poste opprettet via kode i Access front databasen ikke kunne redigeres.
Det som skjedde var at vi fikk denne feilmeldingen:
Skrivekonflikt
Denne posten har blitt endret av en annen bruker...
Og da er senarioet som følger:
Access 2003 i front med linkede tabeller fra en MS Sql server express.
Eksempel på kode for oppretting av ny post:
Dim rs As Recordset
Dim Id As Long
Set rs = db.OpenRecordset("Skole", dbOpenDynaset, dbSeeChanges)
rs.AddNew
rs!Navn = "<Ny>"
rs!Skoletype = "X"
If v(13) = "*" Then
rs!SkoleLov = "F"
Else
rs!SkoleLov = v(13)
End If
rs.Update
rs.Move 0, rs.LastModified
Id = rs!Id
rs.Close
I Access så får en også skrivekonflikt om en går rett på den linkede tabellen og prøver og redigere posten.
Om en redigerer posten i MS Sql admin så kan en etterpå redigere posten i Access.
Løsningen fant jeg i en diskusjon på thescripts.com:
http://www.thescripts.com/forum/post723918-3.html
Og den var og legge til et felt i alle tabeller av typen timestamp. Retilknyttet de linkede tabellene og problemet var løst!!!
Hent ut navnet på alle linkede tabeller og kjør denne spørringen på MS Sql databasen:
Alter table <tabellnavn> Add ts timestamp NOT NULL
Ove B-) |