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
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 de fernijon
1
Respuesta de Jose Mari Madinabeitia
1