Busqueda por registro incompleto de datos.

Iniciado por Impersecuto, 9 Septiembre 2006, 16:56 PM

0 Miembros y 1 Visitante están viendo este tema.

Impersecuto

Hola.
Espero haber titulado bien el post, les paso a describir mi duda.

Estoy empezando en esto de las bases de datos y VB y por lo tanto enlazo un control data a una base de datos de access con DAO. Lo que quisiera hacer es que al colocar un nombre o dato en un texbox el control data vaya al registro correspondiente aunque lo ingresado corresponda solo a una parte del dato. Por ejemplo:

Una tabla con productos computacionales tiene un campo llamado "Nombre Producto"

en ese campo hay registros como:

NOMBRE PRODUCTO

1---celeron 2.13 box---
2---teclado estandar negro---
3---Motherboard Asus---
4---celeron 2.53---
5---AMD Sempron 3000---
6---pentium 4 3.2---
7---mouse optico---
8---pentium 4 3.6---     etc.

¿Como lo puedo hacer para que en un texbox baste con ingresar la palabra celeron (o mejor aun solo una parte de la palabra o la letra inicial) para que en una grid data aparezcan solo los registros que contienen esa palabra (celeron) o parte de la palabra?

Espero haberme explicado bien.

Si alguien me pudiera ayudar colgando un codigo o algo asi le rogaria encarecidamente que incluyera los comentarios para cada instruccion ya que me gusta saber que es lo que estoy programando y no copiar y pegar codigo como automata.

Muchisimas gracias de antemano y saludos.

Impersecuto
Impersecuto de Chile

"Porque no tenemos nada queremos hacerlo todo"

karmany

Hola..
1º) Si estás comenzando tu aplicación yo te recomendaría que en vez de utilizar un control de datos DAta que uses el control de datos ADO.

Mira para buscar como comentas el principio de un registro, puedes hacerlo de forma muy sencilla así:

dim buscar as string
buscar="cel"

Data1.Recordset.MoveFirst 'Te vas al principio de la búsqueda tuya
Data1.Recordset.FindFirst "Campo LIKE '*" & buscar & "*'"
if Data1.Recordset.NoMatch Then
    'lo que quieras
    'y haces un movelast
end if

Te lo he puesto muy por encima, pero échale un vistazo.
El operador SQL Like permite hacer búsquedas de texto. Entonces le he dicho que busque en el Campo -> Campo y que encuentre el primer registro (findfirst) que empiece ('*) por buscar (en este caso -> cel).

Es sencillo..

Impersecuto

Gracias karmany voy a intentar lo que me dijiste y además me pasaré a trabajar en ADO.

Muchas gracias de nuevo.

Saludos
Impersecuto de Chile

"Porque no tenemos nada queremos hacerlo todo"

Impersecuto

Tu codigo trabaja perfectamente, ahora depende mi como lo integro a mi aplicacion.

Los comentarios tuyos respecto a cada funcion estan claros y precisos. No se como darte las gracias.

Saludos.
Impersecuto de Chile

"Porque no tenemos nada queremos hacerlo todo"