Marcar todos los checkbox de un form continuo

Quisiera saber el código para poder marcar todos los checkbox de un formulario continuo mediante un botón.
Me explico
Tengo un formulario continuo que me saca todos los clientes para imprimir un informe ya seleccionado.
En las filas de cada cliente tengo un checkbox llamado selección, y que puedo ir marcando o desmarcando uno a uno. El problema me surge cuando quiero mediante un botón click marcar todos ya que me puede surgir que sean 100 clientes o más.
Lo he intentado con :
private sub btntodos_click
dim marcar as control
for each marcar in me controls
if typeof marcar is checkbox then
marcar = true
end if
next marcar
end sub

1 respuesta

Respuesta
3
Con el código que pones sólo accedes a los controles del registro que está activo.
Tienes dos posibilidades para hacer lo que quieres.
La más sencilla. Como el checkBox tiene que estar asociado a un campo de la tabla... una consulta de actualización de ese campo en la tabla y después refrescamos el formulario. Sería incluir en el código del botón algo así:
    docmd.runsql "update nombreDeTabla set nombreCampoAsociadoAlCheckBox = true"
    Me. Refresh
La otra forma, recorrer todos los registros del formulario, uno por uno, marcando el control. Sería así:
Option Explicit
Private Sub btnMarcarTodos_Click()
    Dim n As Long
    n = Me.CurrentRecord
    Me.Recordset.MoveFirst
    Do While Not Me.Recordset.EOF
        Me.checkBox.Value = True
        Me.Recordset.MoveNext
    Loop
    Me.Recordset.MoveFirst
    If n > 1 Then Me.Recordset.Move n - 1
End Sub
Muchas gracias me funciona perfectamente, solo queda para desmarcar que creo que sera
Después de
if n > 1 then me.recordset.move n -1
else
Me.recordset.move n 0
Lo del 63 es por mi año de nacimiento, un poco viejo, solo marbet estaba cogido
Gracias de nuevo
Pues permíteme decirte que eres de la mejor cosecha. Lo dice un quinto tuyo que no se considera 'un poco viejo' :-)
Para desmarcar sólo tienes que cambiar donde pone "True" poner "False". El resto es igual.
Después de preguntarte me di cuenta del error, puse lo que me has dicho y funciona muy bie muchas gracias,
Eso si lo creo que esta quinta es de la mejor cosecha
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas