Acceso a un campo de una tabla mediante VBA

Hace unos días me respondiste una consulta, la cual pongo a continuación:
HOla,
Para obtener datos de una tabla debes capturar una consulta SQL desde VB por ejemplo así:
dim CONS as recordset
set CONS=currentdb.openrecordset ("SELECT Tabla1.campo1 FROM Tabla1;")
Con esto capturas la consulta a la Tabla1 con los campos que desees (en este caso Campo1). Luego puedes asignar el valor de Campo1 a una variable, por ej:
dim VALOR as string
VALOR=CONS![campo1]
Si quieres encontrar un valor en especifico, puedes restringir la consulta a la tabla desde una restricción WHERE, o puedes recorrer la tabla desde Visual, con las opciones Move:
VALOR.movefirst (va al primer registro)
VALOR.movenext (va al siguiente registro)
VALOR. Last (va al último registro)
Con una función If... End If, puedes ver cuando el valor que buscas sea igual al de VALOR, y listo.
El problema radica que cuando utilizo la opción valor.movenext, me dice que no es correcto. Es más cuando escribo valor. No me sale el menu para elegir la opción, ¿qué estoy haciendo mal?

1 respuesta

Respuesta
1
Perdooooon!
VALOR es una variable de texto y solo puede almacenar el dato del campo que capturas. En ningún caso puedes recorrer esta variable como una tabla...
La opción MOVE la puedes aplicar a CONS (que es una vartiable RECORDSET, es decir guarda el juego de registros de la consulta SQL).
De Esta manera:
CONS.movefirst (va al primer registro)
CONS.movenext (va al siguiente registro)
CONS. Last (va al último registro)
Con esto recorres tu consulta, y cuando encuentras el valor que buscas, lo asignas a la variable VALOR.
Si necesitas que te aclare más o quieres una prueba de esto, avisame Ok!
Polo-red

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas