Error en campo vacío con regla de validación
Publicado por daniwolf (2 intervenciones) el 17/07/2014 11:22:44
Hola, tengo el siguiente problema en Access 2007:
He hecho un formulario independiente para dar de alta en la tabla correspondiente. Se meten todos los datos y después se inserta con un INSERT INTO. Algunos campos tienen regla de validación en el diseño de la tabla. Por ejemplo, el campo CODIGO POSTAL tiene puesto like "#####" , para obligar a introducir 5 cifras. En la tabla esa regla funciona correctamente. La porpiedad "Requerido" está a "No" y la propiedad "Permitir longitud cero" está a "Sí".
Al ejecutar la instrucción INSERT INTO, no da problema si se introducen datos en todos los campos. Pero si se deja vacío un campo de los que tienen regla de validación, entonces da el error:
Microsoft Access no puede anexar todos los registros de la consulta de datos anexados.
Microsoft Access ha establecido 0 campos en Nulo debido a un error en la conversión de tipos, y no ha agregado 0 registros a la tabla debido a infracciones de claves, 0 registros debido a infracciones de bloqueos y 1 registros debido a infracciones de reglas de validación.
--
Si quito todas las reglas de validación de los campos entonces funciona perfectamente.
He probado con y sin máscara de entrada en el Textbox correspondiente del formulario y da igual.
Tengo otro formulario identico pero dependiente, que inserta con un DoCmd.RunCommand acCmdSaveRecord y este no da ningún problema dejando los campos vacíos. Tampoco da problema dejándolos vacíos en la edición directa de la tabla.
Esta es la instrucción INSERT:
DoCmd.RunSQL "INSERT INTO Socios (N_SOCIO, [FECHA ALTA], NOMBRE, APELLIDOS, " & _
"DIRECCION, [CODIGO POSTAL], MUNICIPIO, EMAIL, TELEFONO1, TELEFONO2, EMPRESA, [DIRECCION EMPRESA], OBSERVACIONES) VALUES " & _
"ESTADO) VALUES ('" & Me.N_SOCIO & "', '" & Me.[FECHA ALTA] & "', '" & _
Me.NOMBRE & "', '" & Me.APELLIDOS & "', '" & Me.DIRECCION & "', '" & Me.[CODIGO POSTAL] & "', '" & _
Me.MUNICIPIO & "', '" & Me.EMAIL & "', '" & Me.TELEFONO1 & "', '" & Me.TELEFONO2 & "', '" & _
Me.EMPRESA & "', '" & Me.[DIRECCION EMPRESA] & "', '" & Me.OBSERVACIONES & "')"
(Las cajas de texto se llaman igual que los campos de la tabla)
Pido ayuda.
Muchas gracias.
He hecho un formulario independiente para dar de alta en la tabla correspondiente. Se meten todos los datos y después se inserta con un INSERT INTO. Algunos campos tienen regla de validación en el diseño de la tabla. Por ejemplo, el campo CODIGO POSTAL tiene puesto like "#####" , para obligar a introducir 5 cifras. En la tabla esa regla funciona correctamente. La porpiedad "Requerido" está a "No" y la propiedad "Permitir longitud cero" está a "Sí".
Al ejecutar la instrucción INSERT INTO, no da problema si se introducen datos en todos los campos. Pero si se deja vacío un campo de los que tienen regla de validación, entonces da el error:
Microsoft Access no puede anexar todos los registros de la consulta de datos anexados.
Microsoft Access ha establecido 0 campos en Nulo debido a un error en la conversión de tipos, y no ha agregado 0 registros a la tabla debido a infracciones de claves, 0 registros debido a infracciones de bloqueos y 1 registros debido a infracciones de reglas de validación.
--
Si quito todas las reglas de validación de los campos entonces funciona perfectamente.
He probado con y sin máscara de entrada en el Textbox correspondiente del formulario y da igual.
Tengo otro formulario identico pero dependiente, que inserta con un DoCmd.RunCommand acCmdSaveRecord y este no da ningún problema dejando los campos vacíos. Tampoco da problema dejándolos vacíos en la edición directa de la tabla.
Esta es la instrucción INSERT:
DoCmd.RunSQL "INSERT INTO Socios (N_SOCIO, [FECHA ALTA], NOMBRE, APELLIDOS, " & _
"DIRECCION, [CODIGO POSTAL], MUNICIPIO, EMAIL, TELEFONO1, TELEFONO2, EMPRESA, [DIRECCION EMPRESA], OBSERVACIONES) VALUES " & _
"ESTADO) VALUES ('" & Me.N_SOCIO & "', '" & Me.[FECHA ALTA] & "', '" & _
Me.NOMBRE & "', '" & Me.APELLIDOS & "', '" & Me.DIRECCION & "', '" & Me.[CODIGO POSTAL] & "', '" & _
Me.MUNICIPIO & "', '" & Me.EMAIL & "', '" & Me.TELEFONO1 & "', '" & Me.TELEFONO2 & "', '" & _
Me.EMPRESA & "', '" & Me.[DIRECCION EMPRESA] & "', '" & Me.OBSERVACIONES & "')"
(Las cajas de texto se llaman igual que los campos de la tabla)
Pido ayuda.
Muchas gracias.
Valora esta pregunta


0