Como desplegar en cascada Cuadros combinados

En estos momentos de confinamiento en casa, estoy retocando detalles de mi base de datos, lo último que me ocurre y por lo que escribo, es lo siguiente: en un cuadro combinado dentro de un formulario, se despliega una lista de la cual cuando seleccione uno de ellos y solo ese, se despliegue otra lista donde elegir otro de ellos y al realizarlo el enfoque se dirija a un cuadro de texto donde puedo escribir los datos que desee.

1 respuesta

Respuesta
2

Todo depende de como los tengas construidos y de donde van a "sacar" los datos para su origen de la fila. Por ejemplo, yo tengo dos tablas Países y Ciudades. Ambas están relacionadas por Pais, en la primera es clavey ne la segunda no.

Luego tengo una tabla Clientes, con Pais, Ciudad, NombreCliente, etc y con ella hago un formulario

Cuando elijo el país. En este caso Alemania

En Ciudad sólo me aparecen las de ese país

Elijo Hamburgo y

En este caso en particular, en el combinado Pais, en su origen de la fila tengo puesto

SELECT Paises.Pais FROM Paises GROUP BY Paises.Pais;

y en el combinado Ciudad, le pongo

SELECT Ciudades.Ciudad FROM Ciudades WHERE (((Ciudades.Pais) Like forms!Clientes!pais));

Es decir, el valor que haya elegido en el combinado anterior me sirve como criterio para "limitar" los valores que me tiene que presentar el segundo.

Tambien se podía dejar, en ambos", el origen de la fila en blanco y dárselo por código en el evento Al recibir el enfoque

pais.rowsource="select pais from paises group by pais"

Y en el de Ciudad

Ciudad.rowsource="select ciudad from ciudades where pais like '" & me.pais & "'"

Pero como te decía todo depende de lo que te cité en primer lugar.

Buenos días: amplio la información sobre lo que desearía hacer, actualmente cuando escribo el nombre de la una receta, pulso tabulador y se posiciona en “Origen” que es un cuadro combinado donde el control es una lista con ciertos nombres del cual elijo uno (si el nombre elegido es Preferente) pulsando otra vez tabulador se posiciona en “Alimento” que es otro C.C. y hago lo mismo que en el anterior, si en “Origen” he elegido otro nombre que no es Preferente, entonces el cursor se posiciona en otro campo “Ingredientes”.

Lo que pretendo hacer ahora es que al estar en “Origen” y elegir Preferente se desplegase una lista para elegir lo que ahora elijo en “Alimento” en vez de tener que dirigirme a dicho cuadro, reflejándose todas estas elecciones en la tabla como pasa ahora. ( He intentado subir la imagen del formulario pero no la puedo pegar)

Espero que no sea un pesado y no lie en exceso la pregunta. Gracias por las respuestas, todas ayudan.

Haz una cosa. Con el formulario abierto pulsa Print Screen(impr pant, depende de como esté el teclado), luego abre, por ejemplo, el paint de Windows. Pulsa Pegar. Recorta si es necesario la imagen y guárdala. Luego cuando estés escribiendo en Todoexpertos, en la barra que te aparece justo encima haz clic en el icono de la izquierda para subir la imagen.

Es que sin ver como es la construcción es difícil darte una opinión concreta.

O, si quieres, repito si quieres, mándame una copia vacía a [email protected] y la miro.

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

Espero que esto sirva. Muchas gracias

Mucho la verdad que no pero, tengo una tabla Ingredientes y luego tengo este formulario(yo lo tengo como independiente, ya que no sé si depende de alguna tabla)

En el combinado Origen voy a elegir Preferente y para que se vea que el cursor se va al combinado Alimentos le digo que se ponga amarillo

En el momento que elijo Preferente, no es necesario ni tabulador ni nada

Por el contrario

Cuando lo selecciono

El código del evento Después de actualizar del combinado Origen es

Private Sub Origen_AfterUpdate()
Select Case Origen
Case Is = "Preferente"
Alimento.SetFocus
Case Else
Ingredientes.RowSource = "select ingrediente from ingredientes"
Ingredientes.SetFocus
Ingredientes.Dropdown
End Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas