Bloquear campos en accces al darle imprimir

Lo que quiero es que yo tengo un formulario

Lo que quiero es que al llenar el formulario y darle imprimir al reporte todos los campos del formulario se bloqueen y no se puedan modificar hasta que se le de click a un botón que diga modificar

2 respuestas

Respuesta

Como el formulario tiene que dejar activo el botón, no se puede bloquear al formulario como contenedor de objetos, se tiene que bloquear/desbloquear los objetos uno a uno.
Si son muchos se puede poner una marca a cada objeto y recorrerlos utilizando un bucle.

Recomendaría crear un SUB al que pasándole un parámetro (que puede ser el estado del botón) se encarga del bloqueo/desbloqueo (posiblemente se tenga que utilizar en varios eventos).

Respuesta

Pruebe con este código

Private Sub btnImprimir_Click()
    ' Bloquear los controles del formulario
    Dim ctrl As Control
    For Each ctrl In Me.Controls
        ctrl.Enabled = False
    Next ctrl
    ' Imprimir el informe
    DoCmd.OpenReport "NombreInforme", acViewPreview
    ' Desbloquear los controles del formulario
    For Each ctrl In Me.Controls
        ctrl.Enabled = True
    Next ctrl
End Sub

Si abre el informe en vista previa este código le sirve. Cambie "NombreInforme" por el nombre de su reporte. Puede modificarlo para que solo se desactiven algunos controles usando la información adicional TAG. En este caso este código le sirve

Private Sub btnImprimir_Click()
    ' Bloquear los controles del formulario con información adicional (TAG)
    Dim ctrl As Control
    For Each ctrl In Me.Controls
        If Not IsNull(ctrl.Tag) Then ' Verificar si el control tiene un TAG no nulo
            ctrl.Enabled = False
        End If
    Next ctrl
    ' Imprimir el informe
    DoCmd.OpenReport "NombreInforme", acViewPreview
    ' Desbloquear los controles del formulario
    For Each ctrl In Me.Controls
        ctrl.Enabled = True
    Next ctrl
End Sub

Este código lo encuentra más completo en mis videos de Filtros avanzados. Siga este link https://youtu.be/Bwg4KlJEkX4 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas