Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Validaciones.

Estas en el tema de Validaciones. en el foro de Visual Basic clásico en Foros del Web. Private Sub cedula_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") To Asc("9") 'no hacer nada. Case vbKeyLeft, vbKeyRight, vbKeyBack 'no hacer nada. Case Else 'una ...
  #1 (permalink)  
Antiguo 21/11/2008, 18:05
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Validaciones.

Private Sub cedula_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case Asc("0") To Asc("9")
'no hacer nada.
Case vbKeyLeft, vbKeyRight, vbKeyBack
'no hacer nada.
Case Else
'una letra... no está admitida.
KeyAscii = 0
Beep
End Select
end sub

Private Sub cedula_Change()
'se asegura que exista data en los campos.
nombres.Enabled = IIf(Len(cedula) >= 8, True, False)
End Sub
hola. tengo un inconveniente con esto. bueno con los codigos que coloque anteriormente, me hace lo siguiente: en el texto cedula no me permite ingresar letras, eso esta correcto, y no me permite colocar menos de 8 numeros, si hay mas de 8 numeros me desbloquea el texto nombres, eso esta correcto. pero yo quiero que si ingresa los 8 numeros en el texto cedula y al darle enter me pase al texto nombres. con solo darle enter. tambien necesito hacer una busqueda. por ejempli. que al introducir la cedula 12345678 si esta en la base de datos no pueda desbloquearme el texto nombre- de lo controrio que me pase.
  #2 (permalink)  
Antiguo 21/11/2008, 18:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Validaciones.

Fíjate que al presionar una tecla tienes un Select Case para cada tecla, puedes añadir el Case vbKeyReturn (que sería para la tecla ENTER), y si nombre está habilitado pasarle el foco con el método SetFocus.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/11/2008, 20:32
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Validaciones.

bueno lo resolvi de esta manera y me funciona bien.
ced = Trim(cedula.Text)
c = "trim(cedula)='" & Trim(ced) & "'"
empleado.Recordset.FindFirst c
If Not empleado.Recordset.NoMatch Then
MsgBox "Cedula Introducida Ya Existe", vbInformation, "Atencion"
cedula.Text = ""
Else
If Len(cedula.Text) >= 8 Then
If KeyAscii = 13 Then

nombres.Enabled = True
apellidos.Enabled = True
fecha.Enabled = True
civil.Enabled = True
sexo1.Enabled = True
nacionalidad1.Enabled = True
hijos.Enabled = True
telefono.Enabled = True
email.Enabled = True
txtinstruccion.Enabled = True
nombres.SetFocus

End If
End If
End If
  #4 (permalink)  
Antiguo 21/11/2008, 20:41
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Validaciones.

bueno lo resolvi de esta manera y me funciona bien.
ced = Trim(cedula.Text)
c = "trim(cedula)='" & Trim(ced) & "'"
empleado.Recordset.FindFirst c
If Not empleado.Recordset.NoMatch Then
MsgBox "Cedula Introducida Ya Existe", vbInformation, "Atencion"
cedula.Text = ""
Else
If Len(cedula.Text) >= 8 Then
If KeyAscii = 13 Then

nombres.Enabled = True
apellidos.Enabled = True
fecha.Enabled = True
civil.Enabled = True
sexo1.Enabled = True
nacionalidad1.Enabled = True
hijos.Enabled = True
telefono.Enabled = True
email.Enabled = True
txtinstruccion.Enabled = True
nombres.SetFocus

End If
End If
End If
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:00.