** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Cuadro combinado muestra opción
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCuadro combinado muestra opción

 Responder Responder
Autor
Mensaje
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Tema: Cuadro combinado muestra opción
    Enviado: 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.
Arriba
maxpro Ver desplegable
Colaborador
Colaborador


Unido: 04/Marzo/2006
Localización: Argentina
Estado: Sin conexión
Puntos: 1556
Enlace directo a este mensaje Enviado: 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
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 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

Mi web
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Enviado: 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
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Enviado: 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
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 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

Mi web
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Enviado: 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.



Editado por maserrano - 31/Marzo/2023 a las 00:17
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable