Hola, tengo tres tablas, una con artículos (codart, nombre,...), otra con tallas (codtalla, nombretalla) donde están todas las tallas posibles (G,XG, 40,42,44,S,M,L,...) y una intermedia (codart,codtalla) donde tengo los artículos con sus posibles tallas. Esta tabla no se si es necesaria pero el tallaje de los artículos es diferente.
Quiero que al elegir un artículo en un combo1, en otro combo2 me salgan solo las tallas correspondientes a ese artículo. Es un subformulario en vista hora de datos por lo que los combos combinados se repiten varias veces.
Lo he conseguido poniendo en el origen de la fila del combo 2 SELECT ta.CodTalla, t.Talla FROM Tallas AS t INNER JOIN [Tallas Artículos] AS ta ON t.CodTalla=ta.CodTalla WHERE ta.CodArticulo=[combo1]
Pero al ir a otro registro, aunque cambie de articulo en el combo1, me siguen saliendo las mismas tallas en el combo2.
He probado con requery, refresh, en el form current, en el combo2 click, de mil maneras y no lo consigo. No sé qué hago mal.
Me he acercado poniendo en Al recibir el enfoque [combo2].requery pero entonces, aunque sí me actualizan los datos del combo2, me desaparecen los registros anteriores que no coinciden con el dato que aparece en el combo2. Por ejemplo, si pongo:
Art Talla
Bota 44
Camisa XL
En cuando pongo XL, el 44 desaparece.
Parece ser que al ser el subformulario en vista hoja de datos no se puede, ya que cada registro es distinto y solo puede aparecer el registro que se está escribiendo.
He estado mirando y he visto que se puede hacer un "apaño" con los eventos gotFocus y LostFocus. Parece que solo se filtra por el combo cuando se está editando el dato, por lo que solo cuando lo estoy escribiendo, desaparecerían los datos.
Mucho he mirado pero no he encontrado nada claro como funcionan estos eventos con combos, solo con cuadros de texto..
Me podéis ayudar?
Mil gracias.