Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/12/2009, 10:35
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Ayuda textbox se pierde cuando doy esc

Me parece que lo que tu dices que pulsas es el tabulador para ir pasando de un textbox a otro, lo que si que genera un evento lostfocus.
No entiendo de bases de datos, de modo que no sé como saber si el dni ha sido encontrado, pero creo que si deslias un poco el código igual encuentras el fallo.
Quedaría algo así:
Código :
Ver original
  1. Private Sub txtdni_LostFocus()
  2.   If Len(txtdni.Text) < 8 Then
  3.     MsgBox "Ingrese un DNI Correcto", vbInformation, ""
  4.     txtdni.SetFocus
  5.   Else
  6.     Dim dni As ADODB.Recordset
  7.     Set dni = New ADODB.Recordset
  8.     dni.Open "select * from clientes where dni='" & txtdni.Text & "'", db, adOpenDynamic, adLockBatchOptimistic
  9.     If Not(dni.EOF) Then
  10.       MsgBox "DNI Ya Existe PorFavor Ingresar Otro", vbCritical, "Error"
  11.       txtdni.SetFocus
  12.     End If
  13.   End If
  14. End Sub
Quizá el dni nunca llega con 8 caracteres o más.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!