Actualizar un campo de una tabla desde botón en access, pero necesito verifique si el campo es nulo

Intento actualizar un campo de una tabla desde un botón en un formulario de access, pero necesito me valide que dicho campo este nulo para continuar de lo contrario me genere un mensaje que el campo no esta vacìo


Respuesta
1

Para ver si un campo es nulo o no ---> función IsNull

if IsNull([NombreDelCampo])=true then

actualizas

else

MsgBox "El campo no está vacío"

End if

Saludos

me genera este error: microsoft office access no encuentra el campo 'I' al que se hace referencia en la expresión

Esta es la consulta que intento hacer:

If IsNull([S1_ENV_P1.OK]) = True Then
DoCmd.RunSQL "UPDATE S1_ENV_P1 INNER JOIN S1_VAL_P1 ON (S1_ENV_P1.Campo4 = S1_VAL_P1.Campo4) AND (S1_ENV_P1.Campo3 = S1_VAL_P1.Campo3) SET S1_ENV_P1.ok = 'VALIDADOS', S1_VAL_P1.Campo2 = 'VALIDADOS'"
Else
MsgBox "El campo no está vacío"
End If
End Sub

TE agradezco en lo que me puedas ayudar.

¿En qué linea te da el error...?

Hola es acá: If IsNull([S1_ENV_P1.OK]) = True Then

Es en la segunda linea:

Private Sub Cruce_Click()
If IsNull([S1_ENV_P1.OK]) = True Then
DoCmd.RunSQL "UPDATE S1_ENV_P1 INNER JOIN S1_VAL_P1 ON (S1_ENV_P1.Campo4 = S1_VAL_P1.Campo4) AND (S1_ENV_P1.Campo3 = S1_VAL_P1.Campo3) SET S1_ENV_P1.ok = 'VALIDADOS', S1_VAL_P1.Campo2 = 'VALIDADOS'"
Else
MsgBox "El campo no está vacío"
End If

Disculpame voy a hacer un poco mas especifico:

Lo que intento es cruzar dos tablas en access ("S1_ENV_P1"y "S1_VAL_P1") por numero de documento y tipo de documento y actualizar el campo "ok" de la tabla S1_ENV_P1 y el campo "campo2" de la tabla S1_VAL_P1 con el texto "validados", pero necesito que el botón me valide antes que todos los registros de dichos campos para ambas tablas estén vacíos para luego hacer la actualización. de lo contrario me genere un mensaje que los campos no están vacíos. Todo esto en el mismo botón.

Agradezco tu valiosa colaboración

Pero... ¿lo qué quieres es un código para validar los coincidentes que tengan los campos Ok y Campo2 nulos y actualizarlos...?

Así es exactamente

Gracias

Entonces la condición de que los campos sean nulos lo puedes poner en la propia consulta, no te hace falta el If.

UPDATE ENV INNER JOIN VAL ON (ENV.NDto = VAL.NDto) AND (ENV.TipoDto = VAL.TipoDto) SET ENV.OK = 'VALIDADOS', VAL.Campo2 = 'VALIDADOS' WHERE ENV.OK Is Null AND VAL.Campo2 Is Null

De esta forma validarás todos los que tengas de una sola vez.

Hola, te agradezco, pero no se si sea posible; lo que quiero es que me valide en la tablas si todos los registros tienen el campo null si es así me actualize, de lo contrario me arroje un mensaje que los campos (sean todos o algunos) están llenos.

Gracias

Puedes crear un recordset con los registros nulos, si devuelve algún registro ---> el update, sino ---> mensaje.

dim db as database

dim rs as recordaset

set rs=db.openrecordset("select * from env inner join.........")

if isnull(rs!cualquiercamposeleccionado)=true then

mensaje

else

update

end if

Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas