Mysql
 sql >> Baza danych >  >> RDS >> Mysql

DAO.Recordset.Update powoduje blokadę zapisu

Nie wygląda na to, że przechodzisz do innego rekordu w zestawie rekordów. Po prostu inkrementuj i nie przechodzi do następnego rekordu. Bardziej tradycyjnym podejściem byłoby iterowanie po zestawie rekordów bez potrzeby używania innych zmiennych (i i rsCnt ).

Dim rs as DAO.Recordset
Set rs = CurrentDb.OpenRecordset("qryMyQuery", DB_OPEN_DYNASET)
rs.moveFirst
Do Until rs.EOF
    rs.Edit
    rs!FieldNameHere = "test"
    rs.Update
    rs.MoveNext
Loop

EDYTUJ Po krótkich poszukiwaniach natknąłem się na ten wątek który wydaje się być podobny do twojego problemu. W dolnej części wątku pojawia się sugestia, aby zmodyfikować ustawienia ODBC dla twojego DSN MySQL, wybierając zakładkę „Zaawansowane” i wybierając opcję „Zwróć pasujące wiersze”. W poście napisano również, aby usunąć połączoną tabelę, a następnie ponownie połączyć ją z bazą danych programu Access. W przeszłości nie korzystałem z programu Access z MySQL, więc nie mam pojęcia, czy to zadziała, czy nie, więc postępuj ostrożnie!

Możesz również spróbować zmienić zestaw rekordów, aby użyć flagi dbOptimistic dla opcji blokowania zestawu rekordów, aby sprawdzić, czy to w ogóle pomaga:

set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL, aby zdobyć znajomych ORAZ znajomych znajomych użytkownika

  2. Błąd ładowania sterownika QMYSQL

  3. Jak sprawić, by MySQL Connector/J działał na Androidzie?

  4. SQLAlchemy:Jak usunąć z dołączeniem

  5. wyświetl nową linię mysql w HTML