Visual Basic - necesito corregir error de busqueda para cedula

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de yesid amid

necesito corregir error de busqueda para cedula

Publicado por yesid amid (1 intervención) el 06/02/2019 14:41:52
soy aficionado y nuevo en la programacion, estoy haciendo u programa de prestamos, pero cuando hay la busqueda por cedula de cliene me manda un error y no se como solucionarlo, solo es un formulario, ya conecte la base de datos llamada EMPRESA y la tabla se lllama CLIENTES, e esta tbla tengo insertado el campo cedula en access , pero cuando hago la busqueda por cedula me vota errror. peo el codigo para que me ayuden.

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub BUSCAR_Click()
Dim CED As Long
Adodc1.Recordset.MoveFirst
CED = InputBox("¿Que CEDULA desea buscar?, “búsqueda por CEDULA", vbQuestion)
If CED <> Empty Then
Adodc1.Recordset.Find "CED=" & CED  "" ESTA ES LA LINEA QUE ME ESTA CAUSANDO PROBLEMAS"
If Adodc1.Recordset.EOF Then
   MsgBox "Registro no encontrado", vbCritical, "ERROR"
   Adodc1.Recordset.MoveFirst
End If
End If
End Sub
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
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

necesito corregir error de busqueda para cedula

Publicado por raul (160 intervenciones) el 06/02/2019 16:07:55
vamos por parte el metodo FIND devuelbe un error si no encuentra el registro y es más catastrofico cuando le antecede un FILTER al recordset o sea que verifica esto primero.

Ahora bien las cedulas pueden ser almacenadas como numeros o textos [yo prefiero texto] si es un numero puedes usarlo como lo tienes "CED=" & CED ó "CED = " & CED pero si fuese texto te recomiendo "CED like '" & CED & "'" o sea que el valor lo incluyas entre comillas simples.

ahora bien como el metodo FIND gerenera un error si no encuentra el datos debes controlar el error

Private Sub BUSCAR_Click()
On local error goto et
Dim CED As Long
Adodc1.Recordset.MoveFirst
'****************La intrucción Imput debuelbe un texto por eso su valor lo debes convertir a numero**************************
CED = val(InputBox("¿Que CEDULA desea buscar?”, “búsqueda por CEDULA", vbQuestion))
If CED > 0 Then '***************suficiente ya que si lo encuentra enviará el recordset hacia el registro
Adodc1.Recordset.Find "CED=" & CED
else
msgbox"Debe incluir algun valor a buscar"
end if
exit sub
et: '**************Controlar el error si no encuentra el registro
err.clear '**************Borramos el error
Adodc1.Recordset.movefirst
msgbox"cedula no encontrada" '**************Notificamos que no aparecio

End Sub
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