Access - validacion de cajas de texto

 
Vista:

validacion de cajas de texto

Publicado por IVAN (6 intervenciones) el 21/02/2014 02:55:10
que tal a todos estoy haciendo un formulario basado en una tabla en acces 2010, la cuestion es que quiero validar que antes de ingresar los datos a la tabla las cajas de texto no esten vacias, lo he probado de dos formas:

ejemplo:
if nombre.value = null then

end if

if nombre.text = " " then

end if

en el primer caso no entra a la pregunta ( if ) lo pasa por alto, y de la segunda forma me manda error diciendome que la caja de texto debe tener el foco...

por favor ayuda
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: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

validacion de cajas de texto

Publicado por Jesús Manuel (134 intervenciones) el 21/02/2014 09:01:55
If IsNull (nombredelcampo) then
"lo que sea que quieras hacer"
end if
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

validacion de cajas de texto

Publicado por IVAN (6 intervenciones) el 22/02/2014 01:02:17
QUE TAL ME HA SERVIDO LO QUE ME HAS CONTESTADO, EL PROBLEMA AHORA ES QUE ME HACE LAS VALIDACIONES DE LAS CAJAS DE TEXTO, Y SE SUPONE QUE AL VALIDAR QUE HAY UNA CAJA VACIA, NO DEBE GUARDAR EL REGISTRO, SIN EMMBARGO LO HACE.... AUN CUANDO LA INSTRUCCION INSERT INTO NO SE ACTIVA. CABE MENCIONAR QUE ESTAS CAJAS DE TEXTO ESTAN LIGADAS A LOS CAMPOS DE UNA TABLA ...LO QUE QUIERO ES QUE SI DETECTA UNA CAJA VACIA, NO GUARDE EL REGISTRO. ESTE ES MI CODIGO:

Private Sub Comando29_Click()
Dim instruccion As String
Dim vacio As Boolean
Dim mensajenom As String
Dim mensajeApePat As String
Dim mensajeApeMat As String
Dim mensajeRelLab As String
Dim mensajePuesto As String
Dim mensajeFecIng As String

vacio = False


If IsNull(F_NOMBRE) Then
mensajenom = "NOMBRE"
vacio = True
MsgBox "NOMBRE VACIO" ' SOLO PARA SABER SI ENTRO A LA CONDICION
End If


If IsNull(F_APE_PAT) Then
mensajeApePat = "APELLIDO PATERNO"
vacio = True
MsgBox "APELLIDO PATERNO VACIO"
End If


If IsNull(F_APE_MAT) Then
mensajeApeMat = "APELLIDO MATERNO"
vacio = True
MsgBox "APELLIDO MATERNO VACIO"
End If


If IsNull(F_REL_LAB) Then
mensajeRelLab = "RELACION LABORAL"
vacio = True
MsgBox "RELACION LABORAL VACIO"
End If

'ElseIf F_PUESTO.Value = "" Then
If IsNull(F_PUESTO) Then
mensajePuesto = "PUESTO"
vacio = True
MsgBox "PUESTO VACIO"
End If


If IsNull(F_FEC_INGRESO) Then
mensajeFecIng = "FECHA DE INGRESO)"
vacio = True
MsgBox "FECHA DE INGRESO VACIO"
End If


If vacio = False Then

instruccion = "INSERT INTO EMPLEADOS1 (NOMBRE, APE_PATERNO, APE_MATERNO,CURP,RFC,CELULAR,TELEFONO,ESCOLARIDAD,REL_LABORAL,CATEGORIA,PUESTO,REGIDURIA,DIRECCION,FECHA_INGRESO) VALUES (F_NOMBRE.Value ,F_APE_PAT.Value,F_APE_MAT.Value,F_CURP.Value, F_RFC.Value,F_CELULAR.Value,F_TELEFONO.Value,F_ESCOLARIDAD.Value,F_REL_LAB.Value,F_CATEGORIA.Value,F_PUESTO.Value, F_REGIDURIA.Value,F_DIRECCION.Value,F_FEC_INGRESO.VALUE)"
MsgBox "EL REGISTRO FUE AGREGADO CORRECTAMENTE"
ElseIf vacio = True Then
MsgBox "ES NECESARIO LLENAR LOS CAMPOS:" & mensajenom & Space(2) & mensajeApePat & Space(2) & mensajeApeMat & mensajeRelLab & Space(2) & mensajePuesto & Space(2) & mensajeFecIng

End If

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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

validacion de cajas de texto

Publicado por Jesús Manuel (134 intervenciones) el 24/02/2014 10:23:05
Lo primero es que si en la definición de campos en la tabla haces que sean requeridos, ya no se guardaran los registros que non tengan los datos requeridos.



Yo haría algún cambio en la construcción del mensaje de los campos vacíos, ahorrando variables y para evitar que se guarden los datos, tendrías que hacer un ME.UNDO, aunque con esto se eliminarian todos los datos del formulario y tendrías que cubrirlos todos de nuevo. El código resumido sería:

Private Sub Comando29_Click()

Dim vacio As Integer
vacio = 0
Dim Mensaje As String
Mensaje = "ES NECESARIO LLENAR LOS CAMPOS:"


If IsNull(F_NOMBRE) Then
vacio = 1
Mensaje = Mensaje & vbCrLf & "Nombre"
End If

If IsNull(F_APE_PAT) Then
vacio = 1
Mensaje = Mensaje & vbCrLf & "Apellido Paterno"
End If


If IsNull(F_APE_MAT) Then
vacio = 1
Mensaje = Mensaje & vbCrLf & "Apellido Materno"
End If

.....



If vacio = 0 Then
MsgBox "GUARDANDO DATOS CON INSER INTO"
ElseIf vacio = 1 Then
MsgBox Mensaje
Me.Undo

End If

End Sub


Puedes ver alguna otra opción para que no se guarden datos en http://www.lawebdelprogramador.com/foros/Access/842154-No_guardar_registro_automaticamente.html
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