Macro para activar o desactivar casillas

Tengo una base de datos donde tengo 4 formularios de encuestas, cada encuesta posee un apartado de datos generales, ese apartado posee similar informacion pero no igual. Por lo que hice fue hacer un formulario donde adicione todas los datos generales de los 4 formularios y para diferenciar que informacion se va a ingresar puse un "Grupo de opciones" donde cada opción me da un código que diferencia cada formulario. Con este antecedente viene acá mi consulta:

1) Quiero que al dar click en la opción 1 me desactive las casillas de los demás formularios, al dar click a la opción 2 solo queden activados las casillas correspondientes a este formulario y así sucesivamente.

2) Ademas para poder diferenciar los datos colectados en cada encuesta, cree un "Control de pestaña", para cada formulario, por lo que también la acción realizada en el punto 1 debe activar o desactivar la pestaña correspondiente al tipo de formulario.

1 Respuesta

Respuesta
1

Lo más sencillo es "inhabilitar" la propia pestaña. Por lo que dices, da la impresión de que el grupo de opciones está en el propio formulario. En ese caso basta con, en sus propiedades-eventos-después de actualizar, crear un procedimiento de evento y entre Private Sub... y end sub poner

select case marco7( es el nombre que he usado, tienes que poner el tuyo)

case is=1

me.página2.enabled=false

me.página3.enabled=false

me.página4.enabled=false

case is=2

me.página1.enabled=false

....

End select

Así, si pulsas la opción 1 te bloquea las páginas, 2, 3 y 4 con lo que contienen

Gracias Icue, ha sido una buena propuesta pero solo sirve para cuando ingreso el primer formulario ya que cuando registro una nueva encuesta de otro formato el bloqueo de las hojas no se quita, es decir:

Encuestas: Form1 Form2 Form3 Form4

Cuando ingreso una encuesta Form1 con tu propuesta, claro se bloquea el ingreso a otro libro del grupo de opciones, pero al dar un nuevo ingreso a otro tipo de encuesta Form2 por ejemplo, los libros pertenecientes a éste siguen bloqueados, no se si necesita una funcion que diga que de lo contrario deje los libros activos.

No se mucho de programacion pero aprendo mucho con ayuda de personas como tu, gracias 

No sé como lo habrás hecho pero si tengo un formulario con un grupo de opciones, en este caso he puesto 3 pero es lo mismo. Si en el grupo de opciones marco la b( que vale 2)

Si pulso la página 1 haga lo que haga no puedo escribir nada porque todo está bloqueado, sin embargo si me voy a la página2( que se corresponde con lo elegido en el grupo de opciones

y claro que puedo escribir

Y si me voy a la página 5 no puedo modificar nada, por lo mismo que la 1, también está bloqueada. Si ahora, en el grupo de acciones pulso 1, donde te permitirá cambiar será en la 1 pero no la 2 y la 5, etc. Y el código es exactamente el que te he puesto

Hola nuevamente Icue,

Lastimosamente sigo con el problema, no se si es por las relaciones o algo he puesto mal en la escritura del procedimiento de evento, pero ya le di vueltas y vueltas al asunto y no logro ver donde esta el error, así esta la escritura:

Private Sub Marco2954_AfterUpdate()
Select Case Marco2954
Case Is = 1
Me.Pagina4.Enabled = False
Me.Pagina5.Enabled = False
Me.Pagina6.Enabled = False
Case Is = 2
Me.Pagina2.Enabled = False
Me.Pagina3.Enabled = False
Me.Pagina6.Enabled = False
Me.Pagina7.Enabled = False
Case Is = 3
Me.Pagina1.Enabled = False
Me.Pagina2.Enabled = False
Me.Pagina3.Enabled = False
Me.Pagina4.Enabled = False
Me.Pagina5.Enabled = False
Me.Pagina7.Enabled = False
Case Is = 4
Me.Pagina1.Enabled = False
Me.Pagina2.Enabled = False
Me.Pagina3.Enabled = False
Me.Pagina4.Enabled = False
Me.Pagina5.Enabled = False
Me.Pagina6.Enabled = False
End Select

End Sub

Podemos hacer una cosa. Haz una copia vacía de la base, o al menos de los formularios y las tablas o consultas origen de ellos. Es por ver esas relaciones que comentas. Y me la mandas a [email protected] para que le eche un vistazo.

Si lo haces, en el asunto del mensaje pon tu alias Salvador Siu, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas