Я пытаюсь запустить следующий код для обхода набора записей и обновления там, где это необходимо.
У меня есть база данных Microsoft Access, подключенная к бэкэнду MySql.Всякий раз, когда я запускаю этот код, я получаю следующую ошибку:
3197: ядро базы данных Microsoft Office Access остановило процесс, поскольку вы и другой пользователь пытаетесь изменить одни и те же данные одновременно.
Код ниже:
Private Sub test()
Dim rs As DAO.Recordset, rsCnt As Long, i As Long
Set rs = CurrentDb.OpenRecordset("qryMyQuery", DB_OPEN_DYNASET)
rs.MoveLast
rsCnt = rs.RecordCount
rs.MoveFirst
For i = 1 To rsCnt
rs.Edit
rs!MyFieldInTable = "test"
rs.Update
Next i
End Sub
Я думал, что база данных Access может быть повреждена, поэтому я сделал более раннюю резервную копию, но она делает то же самое, что заставляет меня думать, что это проблема MySql.
Мы используем идентичный фрагмент кода в другой версии этой базы данных, связанной с другой таблицей MySql, и она отлично работает.
Кроме того, когда я открываю запрос, набор записей основан наЯ могу без проблем редактировать данные в запросе.
Просто добавьте, в первом цикле, rs! MyFieldInTable обновляется, затем я получаю сообщение об ошибке.