Buacar palabras en una base de datos USANDO LIKE
Publicado por Hugo vm (3 intervenciones) el 07/05/2009 22:53:46
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.
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


0