problemas con buscar registro

amanda21
17 de Febrero del 2006
hola a todos. necesito ayuda.
he creado un formulario y he introducido un boton control ado ,he enlazado la base de datos y todos los campos ,pero solo me falla el boton de busqueda de un registro.os paso el codigo y a ver si me podeis decir que falla.


Private Sub cmdBuscar_Click()
Dim buscado As String
Dim criterio As String
Dim cadena As String
buscado = InputBox("¿Que Codigo desea buscar?")
criterio = " id_operacion like '*" & buscado & "*'"

Adodc2.Recordset.Find criterio

If Adodc2.Recordset.EOF Then
cadena = " El registro " & UCase(buscado) & " no existe"
MsgBox cadena, 64, "Resultado de la busqueda"
Adodc2.Recordset.MoveLast
End If
End Sub


in saludo

mario
17 de Febrero del 2006
hola porque no lo haces con una consulta sql
algo asi:

Private Sub Form_Load()
Dim Resultado As String
Dim Codigo As String

Codiog = InputBox("¿Que Codigo desea buscar?")

Adodc1.Recordset.Open "Select Id_Codigo From Mitabla Where Id_Codigo Like \'" & Codigo & "\';", Conexion, adOpenDynamic, adLockReadOnly
If Adodc1.Recordset.EOF Then
MsgBox "El codigo introducido no existe", vbInformation
Else
Resultado = Adodc1.Recordset.Fields("Id_Codigo").Value
MsgBox Resultado
End Sub

Si el campo en elque buscas es de tipo string usas Like y usas las \'\' si el campo es de tipo numerico usas el signo = y no pones las \' comillas simples

Espero te sirva de algo. Suerte

gabriel
17 de Febrero del 2006
Lo que pasa es que para recorer tu base de datos no sirve este if que estas utilizando, ya que solo busca en el primer registro, entonces deberias substituir de la siguiente forma:

Dice:
If Adodc2.Recordset.EOF Then


Debe decir:
While Adodc2.Recordset.EOF


Saludos.