Visual Basic - Buscar en una base de datos

Life is soft - evento anual de software empresarial
 
Vista:

Buscar en una base de datos

Publicado por Santiago (1 intervención) el 24/05/2004 23:53:27
Como puedo realizar un boton de busqueda en una base de datos hecha con Visdata en Visual Basic 6.0 ya que este código no funciona
(En un boton de comando)

Private Sub Command1_Click()
Dim buscamos As Long
buscamos = Txtbuscar.Text
If Len(buscamos) > 0 Then
Data1.Recordset.Index = "numero"
Data1.Recordset.Seek "=", buscamos
If Data1.Recordset.NoMatch Then
MsgBox "Expediente no encontrado", vbCritical, "Error"
End If
Else
MsgBox "Ingrese algún número de expediente", vbCritical, "Error"
End If
End Sub

Donde esta el error ? es en el método SeeK?

Muchas gracias.- Santiago Adorni.- Uruguay.-
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
sin imagen de perfil

RE:Buscar en una base de datos

Publicado por Iñaki (502 intervenciones) el 25/05/2004 21:16:08
Pueden ser varios los errores,
Para utilizar "seek" necesitas que el campo al que quieras hacer la busqueda tenga un indice (En este caso llamado "numero").
También puedes utilizar "Findfirst ", ya que este no necesita ningun indice y si la tabla no es muy grande, la busqueda va a ser rapida.

cadena_busqueda = " numero = " & txtbuscar.text
Data1.Recordset.Findfirst cadena_busqueda
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

RE:Buscar en una base de datos

Publicado por Santiago (30 intervenciones) el 03/08/2004 14:58:34
Bueno, yo sinceramente no uso nada de eso.
Yo uso más que nada (para todo) el comando DO WHILE.
Por ejemplo:
*si los label o los text que usas no poseen las propiedades data source y data field (lo que normalmentre hago para que no se vea nada en los label o text cuando entro al formulario o cuando está buscando); ponés esto:

data1.recordset.movefirst
do while not data1.recordset.eof
if data1.recordset.NOMBRE = txtNOMBRE then
label1=data1.recordset.nombre
label2=data1.recordset.direccion
text1=data1.recordset.telefono
exit do
else
data1.recordset.movenext
end if
loop

si los label o los text que usas para mostar los datos no tienen configuradas la propiedades datasource y data field ponés solo esto:

data1.recordset.movefirst
do while not data1.recordset.eof
if data1.recordset.NOMBRE = txtNOMBRE then
exit do
end if
loop

SANTIAGO

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