No parece que se esté moviendo a otro registro en el conjunto de registros. Simplemente incrementando i
no pasa al siguiente registro. Un enfoque más tradicional sería iterar sobre el conjunto de registros sin la necesidad de sus otras variables (i
y 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
EDITAR Después de buscar un poco encontré este hilo que parece ser similar a su problema. En la parte inferior del hilo, se hace una sugerencia para modificar la configuración de ODBC para su DSN de MySQL seleccionando la pestaña "Avanzado" y seleccionando la opción "Devolver filas coincidentes". La publicación también dice que elimine la tabla vinculada y luego vuelva a vincularla a su base de datos de Access. No he usado Access con MySQL en el pasado, por lo que no tengo idea de si esto funcionará o no, ¡así que proceda con precaución! /P>
También puede intentar cambiar su conjunto de registros para usar el indicador dbOptimistic para la opción de bloqueo del conjunto de registros para ver si eso ayuda en algo:
set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)