Imprimir página | Cerrar ventana

Cuadro combinado muestra opción

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86645
Fecha de impresión: 19/Abril/2024 a las 15:16


Tema: Cuadro combinado muestra opción
Publicado por: maserrano
Asunto: Cuadro combinado muestra opción
Fecha de publicación: 29/Marzo/2023 a las 09:35
Hola buenos días.
Una pregunta que me han planteado y no sé cómo abordarla.
En un formulario, que tiene varias pestañas con datos, al escoger una opción en un cuadro combinado de la primera página, las pestañas variarán que si escojo otra opción. Veamos si me explico.

  • Si del cuadro combinado escojo la opción A de la lista de valores, entonces el formulario me presenta 4 fichas o pestañas que llamaré 1, 2, 3 y 4.

  • Si del cuadro combinado escojo la opción B de la lista de valores, entonces el formulario me presenta 4 fichas o pestañas que llamará 1, 2, 5 y 4.

..., con lo que la 3 y la 5 se intercambian según el valor escogido en el cuadro de valores.

Me podrían orientar de cómo abordarlo. 
Un saludo y gracias por adelantado.



Respuestas:
Publicado por: maxpro
Fecha de publicación: 29/Marzo/2023 a las 16:35
Hola, ya tenes definido como vas a relacionar cada item del combo con la ficha?



Saludos


-------------
-------Maxpro-------

San Luis - Argentina


Publicado por: xavi
Fecha de publicación: 29/Marzo/2023 a las 23:36
En el AfterUpdate del cuadro combinado muestra las fichas adecuadas. Algo asi:

Me!Ficha3.Visible = (Me!CuadroCombinado = "A")
Me!Ficha5.Visible = (Me!CuadroCombinado = "B")

Las fichas 1, 2 y 4 parece que se muestran siempre.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: maserrano
Fecha de publicación: 30/Marzo/2023 a las 10:00
Buenas. He tenido que salir de viaje inesperado. Lo siento pero sin falta a la tarde contesto.
Muchas gracias


Publicado por: maserrano
Fecha de publicación: 30/Marzo/2023 a las 16:12
Hola de nuevo.
Anoche estuve mirando sobre el ejemplo de Xavi y, la verdad, es que lo simple suele funcionar.
Lo que pasa es que hay que darse cuenta.

Probé el evento y,

Me!Ficha2.Visible = (Me!TipoMercado_com = "Mercado de Presentes")
Me!Ficha3.Visible = (Me!TipoMercado_com = "Mesa de Precios")

en principio funciona, pero sólo con registros nuevos; con los ya grabados no se actualiza (..., hay que pasarle el evento AfterUpdadte (actualizar el campo combo).

Aparte de esa peguilla, me surge un problema "colateral" y es que me ha desconfigurado el formulario al tener una nueva pestaña, pues antes eran 6 y ahora 7 (aunque una siempre no se vea), pues en modo diseño sí está.

Como de momento no se me ocurre nada para evitarlo, he pensado en otra opción. Voy a trabajar en sacar el combo de texto fuera de la ficha (por ejemplo en la cabecera del formulario) y hacer el evento para que cargue una ficha completa (6 pestañas) para el caso Mercado de presentes y, que cargue otra ficha completa (pero cambiando una pestaña de esa ficha) para el otro caso de Mesa de precios.
Supongo que debo hacer una copia de la Ficha completa renombrarla y cambiarle la página o ficha; colocarla encima de la otra en el formulario y aplicarle el evento. Supongo que el evento debe ser muy similar al usado para las páginas de la ficha.

Probaré a ver qué tal y ya comento.
Graaaacias


Publicado por: xavi
Fecha de publicación: 30/Marzo/2023 a las 16:19
Hola,

Para la primera "peguilla" solo tienes que poner esas mismas líneas de código en el evento Current del formulario.

Para la segunda, y sin saber ver que es lo que se ha desconfigurado,  ¿te vale poniendo las pestañas del combo en varias filas?

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: maserrano
Fecha de publicación: 31/Marzo/2023 a las 00:16
Buenas de nuevo.
Al final ha salido bien. He hecho una copia del formulario y a esa copia le he modificado la página o pestaña en cuestión (la que lo hace diferente por sus datos). Ahora copio la ficha completa (con sus 6 pestañas) de ese formulario y lo pego en el formulario original, exactamente encima y, ahora formulo el evento en el combo que lo tengo fuera de fichas (en el cabecero del formulario):

Private Sub TipoMercado_com_AfterUpdate()
Me!Ficha0.Visible = (Me!TipoMercado_com = "Mercado de Presentes")
Me!Ficha1.Visible = (Me!TipoMercado_com = "Mesa de Precios")
End Sub

Donde la Ficha0 es la ficha original con sus 6 páginas y la Ficha1 es la copia (igual pero con una página o pestaña modificada. Ah y para que se actualice todo también va en el current del form.

Supongo que se puede hacer mejor (más fino) pero la verdad es que funciona perfectamente.
Gracias por la ayuda y por mi parte se puede cerrar el hilo.




Imprimir página | Cerrar ventana