Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hasil DAO.Recordset.Update di kunci rekaman

Tampaknya Anda tidak pindah ke record lain di recordset. Cukup menambah i tidak pindah ke rekaman berikutnya. Pendekatan yang lebih tradisional adalah beralih pada recordset tanpa memerlukan variabel Anda yang lain (i dan 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

EDIT Setelah sedikit mencari, saya menemukan utas ini yang tampaknya mirip dengan masalah Anda. Di bagian bawah utas, saran dibuat untuk mengubah pengaturan ODBC untuk DSN MySQL Anda dengan memilih tab "Lanjutan" dan memilih opsi untuk "Kembalikan Baris yang Cocok". Posting juga mengatakan untuk menjatuhkan tabel tertaut dan kemudian menautkannya kembali ke database Access Anda. Saya belum pernah menggunakan Access dengan MySQL di masa lalu, jadi saya tidak tahu apakah ini akan berhasil atau tidak, jadi lanjutkan dengan hati-hati!

Anda juga dapat mencoba mengubah recordset Anda untuk menggunakan flag dbOptimistic untuk opsi penguncian recordset untuk melihat apakah itu membantu:

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. Python:Ubah Tuple menjadi String yang dipisahkan koma

  2. Apakah timestampdiff() di MySQL setara dengan dateiff() di SQL Server?

  3. C# MySQL Error Jumlah kolom tidak cocok dengan jumlah nilai pada baris 1

  4. mysqli atau mati, apakah harus mati?

  5. Tidak ada operasi yang diizinkan setelah koneksi ditutup MYSQL