Consulta de datos de una tabla en access.

Tengo una serie de tablas en un servidor. Mi intención es vincular esas tablas en un cliente y hacer consultas sobre las tablas que están en el servidor mostrando los resultados en los formularios que tienen los clientes.
Mis preguntas son las siguientes:
Si uso ADO para recoger en un recordset la tabla y luego uso el método find.. ¿cómo puedo mostrar el resultado de la búsqueda en un formulario?
¿Qué diferencia hay entre el método find de un recordset y una instrucción SQL Select con parámetros si las dos encuentran los registros que quiero?
Gracias de antemano
Respuesta
1
Cuando trabajas con tablas vinculadas en principio te puedes olvidar tranquilamente de que son vinculadas, ya que básicamente trabajas con ellas exactamente igual que con las tablas que tienes en el propio access. Sólo hay unas pocas cosas que no funcionan, como el seek, pero no tienes porqué usarlas.
Bueno, para mostrar el resultado de una búsqueda en un formulario. Si usas find, supongo que es desde un botón en el propio formulario, que te debe posicionar en el registro que estás buscando. El formulario estará basado en la tabla en la que buscas. Para ello, debes tener algo similar a
set r=me.recordsetclone
r.find aquilabusquedaquequieras
if nor r.nomatch then ' se encontró
me.bookmark=r.bookmark ' asignar la posición
else
msgbox "no se encontró"
Endif
Espero que eso se aproxime a lo que estabas preguntando.
En cuanto a la segunda, la diferencia es que find te sitúa, dentro de un recordset con todos los datos, en un registro que cumpla el criterio. La Where de una SQL te devuelve un recordset con sólo los registros que cumplen.
Por ejemplo, si buscas en una tabla de gente por nombre, con el método find te puedes mover al anterior y ése ya no cumple el criterio de búsqueda. Con la sql, sólo te devuelve los registros que la cumplen, son muchos menos (o incluso sólo uno o ninguno)
Si vas a trabajar con tablas GRANDES vinculadas, quizá en otro ordenador, conviene usar la sql porque reduce el volumen de datos a enviar por la red.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas