elimdeki bulunan bir projenin biten bölümlerini mysql aktardım.
access te bulunan Evet / Hayır bölümü mysql olmadığı için YINYINT yaparaktan
False olayına = 0 True olayına = 1 (mysql de -1 yokmuş sanırım)
yazdırıyorum. formum açıldığında onay adlı tablodaki alanımın hepsinin sıfır '0' olması gerekiyor. aşağıdaki ADO ve DAO kodları ile problemsiz bir şekilde yapabiliyorum.
fakat
Run-time error '3197':
Micrasoft Access veritabanı Altyapısı, siz ve başka bir kullanıcı aynı veriyi aynı anda değiştirmeyi denediğiniz için işlemi durdurdu.
hatası alıyorum. hatayı verdikten sonra mysql tablolarına baktığımda hepsinin istediğim şekilde sıfır olduğunu görüyorum. fakat Access DEBUG bölümünden beni VB bölümüne atıyor orada da rs.update te stop yaptığını görüyorum. (orası sarı şekilde)
On Error Resume Next
ile engelleyebiliyorum fakat ben hatanın çözümünü öğrenmek istiyorum.ADO Kodları
Private Sub Form_Open(Cancel As Integer)
Dim rs As New ADODB.Recordset
rs.Open "guvenlik_kimlik", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.MoveFirst
Do Until rs.EOF
rs!onay = 0
rs.Update
rs.MoveNext
Loop
100
rs.Close
Set rs = Nothing
End Sub
DAO Kodları
Dim rs As DAO.Recordset
Dim db As Database
Dim strSQL As String
Set db = CurrentDb()
strSQL = "SELECT * FROM guvenlik_kimlik"
Set rs = db.OpenRecordset(strSQL)
rs.MoveFirst
Do Until rs.EOF
rs.Edit
rs!onay = 0
rs.Update
rs.MoveNext
Loop
100
rs.Close
End Sub