Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

DAO.Recordset.Update kết quả trong khóa tính toán

Có vẻ như bạn đang chuyển sang một bản ghi khác trong tập bản ghi. Chỉ cần tăng i không chuyển sang bản ghi tiếp theo. Một cách tiếp cận truyền thống hơn sẽ là lặp lại tập bản ghi mà không cần các biến khác của bạn (irsCnt ).

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

CHỈNH SỬA Sau một hồi tìm kiếm, tôi đã tìm thấy chuỗi này có vẻ tương tự với vấn đề của bạn. Ở cuối luồng, một gợi ý được đưa ra để sửa đổi cài đặt ODBC cho MySQL DSN của bạn bằng cách chọn tab "Nâng cao" và chọn tùy chọn để "Trả lại Hàng phù hợp". Bài đăng cũng nói rằng hãy thả bảng được liên kết và sau đó liên kết lại nó với cơ sở dữ liệu Access của bạn. Tôi chưa sử dụng Access với MySQL trước đây, vì vậy tôi không biết liệu điều này có hoạt động hay không, vì vậy hãy tiến hành một cách thận trọng!

Bạn cũng có thể thử thay đổi tập bản ghi của mình để sử dụng cờ dbOptimistic cho tùy chọn khóa tập bản ghi để xem điều đó có giúp ích gì không:

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. Thay đổi tên đã tạo của khóa ngoại trong Hibernate

  2. Hàm NOW () của MySQL với độ chính xác cao

  3. Cách đúng để giữ cho các kết nối được gộp chung tồn tại (hoặc hết thời gian chờ và lấy lại các kết nối mới) trong thời gian không hoạt động lâu hơn cho ứng dụng MySQL, Grails 2

  4. Vấn đề đối sánh MySQL

  5. Lỗi Hibernate khi thực thi DDL qua Tuyên bố JDBC