Hola!
Primero que nada, podés hacer de dos formas (casi todo lo que yo manejo es ActiveX Data Object, no sé manejarme de otra forma).
Si es una consulta que trae varios registros con varios campos cada uno, podés utilizar el DataGrid, asociado a un ADODC (que es un objeto visual de la barra de herramientas). Primero ponés un ADODC en la pantalla (si querés lo haces invisible), Con el botón derecho del mouse sobre el mismo desplegás el menú contextual, andá a propiedades de ADODC. Hacé click en generar cadena de conexion o algo así. Elejí como proveedor Microsoft Jet OLE DB Provider 4.0 (para acces 97 o 2000). Presiona en siguiente y en conexion, dale el destino de la base de datos, si querés hacé click en probar conexión.
En origen de registro, podés escribir la sentencia SQL para la consulta, te conviene hacer una consulta que venga vacía. (para que no arranque la grilla llena ni bien se carga el fomrulario).
Luego al data grid, le seleccionas en la propiedad DataSource el ado que acabas de crear.
Luego en tiempo de éjecuación , podés hacer cambiarle la consulta para que se llene luego de que el usuario ingresó algún dato, por ejemplo: (suponiendo que tenemos un txtNombre que ingreso el usuario, y quiero que me traiga todas las personas cuyos nombres coincidan con el txt ingresado). en el codigo:
adoCliente.recordsourse = "SELECT * FROM clientes WHERE nombre=' & txtNombre.text & "'"
el ' indica que lo que sigue es un string o un numero con coma, el # indica una fecha.
Luego de cambiarle el recordsource al ado, lo refrescas para que la lista (datagrid) obtenga los datos de la nueva consulta
adoCliente.refresh
Es má