Access - Filtrar Cuadro Combinado En Hoja De Datos

 
Vista:
sin imagen de perfil

Filtrar Cuadro Combinado En Hoja De Datos

Publicado por Mario (2 intervenciones) el 03/06/2015 12:46:36
Buenas!
Antes de nada, gracias por vuestro tiempo, les presento mi problema...

Tengo una base de datos de un gimnasio en la que almaceno los clientes, cada cliente tiene sus tablas de ejercicios, y en cada una de ellas se almacenan todos los ejercicios que el cliente debe hacer.

Tengo una hoja de datos para dar de alta ejercicios en una tabla, el problema es el siguiente:
En dicha hoja de datos, primero selecciono mediante un cuadro combinado la Zona del cuerpo a la cual corresponde el ejercicio (Pecho, Espalda, Piernas...), y en la siguiente columna mediante otro cuadro combinado selecciono uno de los ejercicios que corresponde a la Zona seleccionada(Abdominales, Zancadas...)

En otros casos ya he filtrado cuadros combinados a través del criterio de la consulta y el "cuadro_combinado.Requery" en el evento "después de actualizar". pero esta vez al ser una hoja de datos, con un cuadro combinado en cada registro, al dar de alta mas de un registro cuando selecciono la Zona de los registros siguientes, los ejercicios se cambian y ya no corresponden a su zona.

la hoja de datos tiene los siguientes campos: id, id cliente, id tabla, Zona, Ejercicio, Dia, Repeticiones y Series

Adjunto captura de pantalla de la hoja de datos
base-de-datos-access
¿Que puedo hacer para que me funcione?

Gracias de nuevo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sergio Andres

Filtrar Cuadro Combinado En Hoja De Datos

Publicado por Sergio Andres (4 intervenciones) el 03/06/2015 14:42:19
Buenos días Mario, no se si te pueda servir esto.
Primero que todo debes crear el procedimiento de evento "al cambiar" en el cuadro combinado donde seleccionas la zona del cuerpo así:

Private Sub Cuadro_combinado1_Change()
Cuadro_combinado2.Requery
End Sub


Este código hace que al cambiar el ejercicio, actualize los datos que se muestran en el segundo cuadro combinado.
Luego en el cuadro combinado donde ves los ejercicios correspondientes a la zona del cuerpo, en el evento "después de actualizar" pones el siguiente código:

Private Sub Cuadro_combinado2_AfterUpdate()
Texto1 = Me.Cuadro_combinado2.Column(1)
Texto2 = Me.Cuadro_combinado2.Column(2)
Texto3 = Me.Cuadro_combinado2.Column(3)
Texto4 = Me.Cuadro_combinado2.Column(4)
Texto5 = Me.Cuadro_combinado2.Column(5)
Texto6 = Me.Cuadro_combinado2.Column(6)
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Filtrar Cuadro Combinado En Hoja De Datos

Publicado por Mario (2 intervenciones) el 03/06/2015 19:03:14
Hola! ante todo gracias por la respuesta, pero no entiendo muy bien la parte del código correspondiente al evento "después de actualizar", ¿a que cuadros de texto corresponde texto1-6? y por que tengo que coger una columna determinada en cada linea? en el cuadro combinado solo está esa columna
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Filtrar Cuadro Combinado En Hoja De Datos

Publicado por GOOO (46 intervenciones) el 03/06/2015 21:32:54
Hola

Como no tenemos los nombres de los controles
Id, IdCliente, Tabla, Dia, etc, etc

Sergio asumió que (por ejemplo) para Id = Texto1

En todo caso tendrías que cambiar el Texto1 por el nombre del control correcto.
Supongamos que tu control tenga por nombre Id

En vez de usar
Texto1= Me.Cuadro_combinado2.Column(1)

Cambialo por
Id= Me.Cuadro_combinado2.Column(1)

y así sucesivamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sergio Andres

Filtrar Cuadro Combinado En Hoja De Datos

Publicado por Sergio Andres (4 intervenciones) el 03/06/2015 22:00:24
Así es!! Gracias GOOO por la aclaración, y me disculpo con Mario.
La primera parte del código se refiere al cuadro de texto dónde se muestra la info que posea en la tabla o consulta de la que trae los datos para el cuadro comninado. La columna ubica la posición dónde se encuentra el dato de el campo que queremos traer de nuestra consulta o tabla. Éstos campos se cuentan desde Column(0), Column(1), Column(2)...etc

Cuando se crea el cuadro combinado(debe tener la opcion de "Asistente para Controles" activa para que sea mas sencillo el trabajo de filtro), se liga este objeto a una tabla o consulta, se deben agregar los campos de la tabla que vamos a trabajar en nuestro cuadro combinado ( en éste caso, sugiero agregar los campos que tienen que ver con el filtro que queremos hacer, es decir Zona, Ejercicio, Repeticiones y Series)

Si tiene más dudas, con gusto trataré de ayudar y si necesita ayuda me puede enviar el archivo de access en el que está trabajando haber si le puedo colaborar.

De nuevo gracias a GOOO, un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar