Я перевожу базу данных доступа в MySQL.Большая часть программы работает хорошо, но у меня все еще есть проблема с запросом SQL.
Я получаю ошибку времени выполнения 3197:
The Microsoft Office Access database engine stopped the process because you and another user are attempting to change the same data at the same time.
Что я уже сделал:
- Сконфигурируйте мой драйвер ODBC для разрешения динамических курсоров
- Сконфигурируйте мой драйвер ODBC для возврата совпадающих строк вместо затронутых строк
Код, вызывающий ошибку:
Dim rsMain As Recordset
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb
Dim sqlQuery As String
sqlQuery = "Select * from Table1 where field1 like '" & Me.field10 & "*' and field2=" & Me.field11 & " and field3=True"
Set rsMain = db.OpenRecordset(sqlQuery)
rsMain.MoveFirst
Do Until rsMain.EOF
sqlQuery = "select sum(field4) as Est, sum(field5) as Cons, sum(field6) as Prod from Table1 where field1 like '" & rsMain("field1") & "*' and field3=False and field5=" & Me.modifiedDate
Set rs = db.OpenRecordset(sqlQuery)
rsMain.Edit
rsMain.Fields("field4") = rs.Fields("Est")
Set rs = Nothing
rsMain.Update
rsMain.MoveNext
Loop
Set rsMain = Nothing
Команда rsMain.Update завершается неудачно, она является источником ошибки.У меня есть похожий код, который не вызывает ошибок.Я единственный пользователь в то время.
Заранее спасибо за ваши идеи