Visual Basic - Buacar palabras en una base de datos

Life is soft - evento anual de software empresarial
 
Vista:

Buacar palabras en una base de datos

Publicado por Hugo vm (4 intervenciones) el 07/05/2009 22:47:26
Hola a todos mi duda es como buscar palabras sueltas en una base de datos estoy haciendo un programa de punto de venta para una farmacia y quiero hacer un buscador de productos y lo puedo hacer pero el problema es que para ke me los muesrte le tengo que poner el nombre exacto del producto para que lo enkuentre POR EJEMPLO: tengo un producto en la base de datos que se llama "Norecil 600 Metronidazol diyodohidroxiquinoleina 20 tab 400 mg" y quiero hacer un buscados que al introducir cualquier palabra de ese largo nombre en una caja de texto me muestre todos los productos que contengan esa palabra en una list box .

estoy trabajando con una base de datos en acces e intaractuo con ella desde visual basic con un adodc

(ME HABIAN DICHO QUE SE PODIA HACER CON UNA CLAUSULA LLAMADA LIKE PERO LA VERDAD NO SE COMO USARLO)

ME PUSIERON ALGO COMO ESTO "Esta linea de consulta te sirve. La colocas luego de hacer el recordset con los dados que vas a consultar y en la consulta utilizas la clausula LIKE, asi:

MySql = "SELECT * FROM DROGAS" & " " & "Where" & " " & nombremedicina & " " & "like" & "'%" & Text1.Text & "%'"

y la verdad no se a que se refiere pero pienso que es muy paresido a lo que yo hago pues ya les habia comentado que en lo que yo hago tengo que poner el nombre exacto del producto para que me lo musstre

LO QUE YO HAGO ES ALGO ASI COMO ESTO:

Dim cadena as string
On Error Resume Next
cadena = "Select * From Productos Where nombre = '" & Text1.Text & "'"
With Adodc1
.RecordSource = cadena
.Refresh
text2.text=.recordset.fields(1)
end with

pero aki solo me muestra un resultado en una caja de texto ademas de tener que poner el nombre exacto del producto para que lo enkuentre y yo quiero que con solo una palabra me encuentro varios resultados y me los muestre en un listbox
(el listbox si lo se usar el problema es como encontrar los varios productos"

O TAMBIEN PUEDO HACER ALGO COMO ESTO

Dim NUM As Integer
Private Sub Command1_Click()
On Error Resume Next
With Adodc1.Recordset
.MoveFirst
While Not .EOF
If Text1.Text = .Recordset.FIELDS(1) Then
List1.List(NUM) = .Recordset.FIELDS(1)
NUM = NUM + 1
End If
.MOVENEXT
Wend
End With

End Sub

PORFAVOR AYUDENMEE como se usa ese like???????????????

espera haver sido claro y espero me puedan ayudar de ante mano les doy las gracias a todos por su tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Buacar palabras en una base de datos

Publicado por Rolando Lau (115 intervenciones) el 08/05/2009 22:50:13
Ok.
Haber si se te puede ayudar.

Te explicare el metodo que uso para filtrar.

1.- Debes tener el conjunto de registros en una variable recordset ,
Ejemplo : Tu lista total de productos de alguna clasificacion de articulos.

2.- a esa variable recordset la filtras por algun campo especifico o varios campos.

Supongamor que RS te devuelve 250 reg con los campos:

cod_producto , descrip_prod , Precio_prod

para buscar en cod_producto seria:

rs.filter = "cod_producto=like '%" & text1.text & "%'"

si text1.text ="501"

entonces el rs se filtrara con el valor 501 del campo cod_producto ,
es decir : mostrara todos los registros que contengan "501" en el campo cod_producto.

5015522311
1221501112
1251212501
5450121512

Espero hayas entendido mi ejemplo y espero te sirva.

salu2

Rolando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar