Cómo habilitar o deshabilitar (25) Grupo de opciones en formulario access

Tengo varias encuestas, cada una contiene de 5 a 30 preguntas y un formulario para llenado con 30 marcos de opciones numerados del 1 al 30. ¿Cómo podría habilitar o deshabilitar estos grupos de opciones de acuerdo al número de preguntas? Ejemplo: Encuesta con 15 preguntas habilitar grupos de opciones del 1 al 15, 10 preguntas del 1 al 10, 30 preguntas del 1 al 30 etc. Etc.

3 Respuestas

Respuesta
Private Sub NumeroPreguntas_AfterUpdate()
    Dim i As Integer
    Dim numPreguntas As Integer
    ' Obtener el número de preguntas ingresado
    numPreguntas = Me.NumeroPreguntas.Value
    ' Deshabilitar todos los grupos de opciones
    For i = 1 To 30
        Me.Controls("Group" & i).Enabled = False
    Next i
    ' Habilitar los grupos de opciones necesarios
    For i = 1 To numPreguntas
        Me.Controls("Group" & i).Enabled = True
    Next i
End Sub

En este código, NumeroPreguntas es el nombre del control que contiene el número de preguntas en tu formulario.

Además, asumo que los grupos de opciones se llaman Group1, Group2, etc.

¡Gracias! 

¡¡Excelente, Funciona!! Estas son algunas de mis primeras líneas con vba, Access y tu ayuda me resulto sencilla, entendible y muy fácil de adaptar, en verdad te lo agradezco. Mil Gracias

Respuesta

¿Cómo se las denomina?

Si hay una secuencia numérica correlativa (ABC_01, DEF_02 ... XXX_30), se puede utilizar en un bucle que las recorra, lo más sencillo es hacer dos vueltas,:

.- En la primera se desactivan todas.

.- En la segunda se activan las que se necesiten.

Incluso la primera vuelta puede comenzar a desactivar (u ocultar) comenzando en la ultima y en la segunda iniciarse en la primera, harán 'lo mismo' pero con más estilo.

Respuesta

Vamos a suponer. Supongamos que en una tabla Geografia tienes X preguntas. Supongamos que en un formulario tienes los 25 grupos de opciones llamados Marco1, Marco2, ... Marco25 y en sus propiedades tienes puestos que Visible=No

En algún evento. Por ejemplo, en el evento Al hacer clic de un botón, o en el evento Al cargar(ya que no sé como está construido el formulario) puedes poner algo como

dim ctl as control, i as byte

for i=1 to Dcount("*","geografia")

set ctl=controls("Marco"&i)

ctl.visible=false

next

Así, cuando suceda ese evento, contará las preguntas y sólo mostrará el mismo número de grupos de opciones que preguntas haya.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas