Validar campos vacíos access

Tengo varios formularios donde las personas debe ingresar información, como son furmularios con "Tabs" incluidos por la gran cantidad de información, a veces dejan campos en blanco. A la hora de guardarlos en la base no hay problemas, pero como esta información se envía a una plantilla de word, sucede que cuando se mandan campos en blanco da un error a la hora de enviar a word.
Una consulta sería como modificar directamente el código a la hora de enviar a word, para que indique cuál es el campo exacto que está vacío.
Te mando el código para este caso:
 With wordDoc
        .Bookmarks("NombreServicio").Range.Text = Me.NombreServicio.Value
        .Bookmarks("UnidadProductiva").Range.Text = Me.NombreEmpresa.Value
'esta opcion valida que en el tab 2 permita que esten vacios los campos, pero si alguno de los que esta en el bloque x ej. Estratmetod1 esta vacía, genera un error y se pega el formulario, aqui es donde ocupo validar que de este grupo si esta vacio solo diga que esta vacio y se posicione ahí
If IsNull(Me.Actividad1.Value) = False Then
        .Bookmarks("Actividad1").Range.Text = Me.Actividad1.Value
        .Bookmarks("EstratMetod1").Range.Text = Me.EstratMetod1.Value
        .Bookmarks("RecursoDidact1").Range.Text = Me.RecursoDidact1.Value
        .Bookmarks("HorasST1").Range.Text = Me.HorasST1.Value
end if
 End With
La otra sería como validarlo al tratar de salir del formulario, pero que me indique cuál es el campo que está vacío.
Te adjunto el código que uso para este caso (aquí pongo solo alguno de los campos, pero en realidad son aproximadamente 15 campos):
Private Sub cmdsalir_Click()
On Error GoTo Err_cmdsalir_Click
    Dim stDocName As String
   ' Call EnBlanco
    If IsNull(Me.CantidadPersonas) Or IsNull(Me.Lugar) Or IsNull(Me.Horas) Or IsNull(Me.QuienRealizoDiseno) Then
        MsgBox "Recuerde que no deben haber campos en blanco requeridos por la plantilla de MS Word (verificar campos en verde, que no estén vacíos)", vbInformation, "Validación de ingreso de información"
    Else
            stDocName = "Macro_CierraDiseno_AMP"
            DoCmd.RunMacro stDocName
    End If
Exit_cmdsalir_Click:
    Exit Sub
Err_cmdsalir_Click:
    MsgBox Err.Description
    Resume Exit_cmdsalir_Click
End Sub

2 Respuestas

Respuesta
1
La solución a los campos vacíos en access se realiza sustituiendo el campo vacío por un espacio en blanco. De esta manera word no suele dar problemas.
Respuesta
1
Puedes probar otra cosa, es que utilices la propieded de "requerido" en la definición del campo de la tabla, o en el evento on exit del control. Puedes hacer que no permita seguir al campo siguiente mientras el que estas escribiendo esté vacío

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas