Función EOF

Me puedes ayudar con el cidigo en Visual Basic, para recorrer y mostrar los registros de una tabla en Access y controlando el fial de la tabla con EOF ara mostrar un mesaje cuando sea verdaddero.

1 respuesta

Respuesta
1
Algo así...
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset(mitabla)
While Not rst.EOF
' Las operaciones que quieras
Rst. MoveNext
Wend
MsgBox "Fin de los registros"
Aunque no acabo de entender que quieres decir con 'recorrer y mostrar'
Un saludo
Xavi
http://www.llodax.com
http://www.mvp-access.com/foro
Ok, llodax, la base de datos (access) tienen una tabla llamada cliente, se crea un formulario para mostrar la información de cada cliente, en el formulario hay un Botón que al darle click pide el código del cliente y lo busca en la tabla registro a registro, si lo encuentra muestra su información, pero si llega al final del archivo controlado con EOF mostrara un mesaje que no hay más registros o que no exite cliente.
Gracias Llodax.
Creo que, para agilizar, primero podrías contar la cantidad de registros que contienen ese código (se supone que, como máximo, sera uno)
Se supone que pides el código mediante un InputBox y que este es alfanumérico.
Dim CodigoBusq As String
CodigoBusq = InputBox("Escribe el código de cliente a buscar")
' si el usuari opulsa escape
If CodigoBusq = "" Then Exit Sub
If DCount("*","[TablaClientes]", "[Codigo]='" & CodigoBusq & "'")=0 Then
' No hay copincidencias. Avisamos y salimos
MsgBox "No existe ningun cliente con ese código", vbCritical, ":: AVISO ::"
Exit Sub
End If
' Si hay coincidencias. Ahora abrimos un Recordset solo para el registro en cuestion.
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("SELECT * FROM [TablaClientes] WHERE [Codigo]='" & CodigoBusq & "';"
' y rellenamos los campos del formulario
Me!uncampo = rst!uncampo
Me!otrocampo = rst!otrocampo
....
Me!ultimocampo = rst!ultimocampo
rst.Close
Set rst = Nothing
Escrito del tirón... revisa la sintaxis y adáptala a tus campos y tablas.
Un saludo
Xavi
Deberías contar si el código

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas