Elegir un valor de entre unos ya filtrados

Antes sabía hacerlo pero de no usar se me ha olvidado.

Por ejemplo, tengo una tabla que se llama "Coches" y ahí tengo la marca y el modelo del coche, por ejemplo

Marca--------------------Modelo

Ford-----------------------Fiesta

Ford-----------------------Mondeo

Renault------------------Clio

Renault-----------------Traffic

Ahora tengo otra tabla donde elijo el coche. Se llama "Elegido" y tengo dos campos: uno la marca y otro el modelo. Por medio de un cuadro combinado que relaciono con la tabla Coches busco primero por marca, y me aparecen 2 opciones, Ford y Renault. Elijo Ford

Ahora voy al siguiente campo que se llama modelo, y también con un cuadro combinado relacionado con la tabla Coches busco modelos de coche PERO SOLO de la marca Ford. Y no consigo. En la ventana de diseño de esta consulta pongo en la primera columna:

Campo: Modelo

Tabla: Coches

Y en la segunda columna columna pongo

Campo: Marca

Tabla: Coches

Criterios:   Y yo creo que aquí hago mal. Quiero ponerle la marca que he seleccionado anteriormente (Ford) y para eso le pongo [Marca]. Pero no me sale nada. Si en ved de [Marca] pongo Ford entonces me sale bien pero quiero que la Marca varíe en función de lo que he elegido antes.

1 respuesta

Respuesta

¿Tiene qué ser en una tabla? El problema de las tablas es que no tienen código. Si te vale en un formulario es sencillísimo.

Muchas gracias Julián,

Sí, me vale perfectamente un formulario.

Un saludo

Primero te explico lo que quieres y luego te digo como lo haría yo.

Supongamos que tengo la tabla Coches

Y la tabla Elegidos, con entre otros

Con ésta última hago un formulario, da igual único o continuo, pero en este último se ve mejor y cambio los cuadros de texto por dos combinados. En el combinado Marca, en sus propiedades-datos-origen de la fila, con el generador de consultas creo

Y en el combinado Modelo lo mismo, pero que me "limite" los modelos a lo que haya elegido antes en Marca

Cuando en el formulario elijo una Marca(voy a elegir Renault)

Cuando "despliego" el modelo

Si me voy al siguiente registro

El inconveniente de esto es que en las propiedades del combinado Modelo-Eventos-Al recibir el enfoque debes crear un procedimiento de evento y entre Private Sub y End Sub poner

Modelo. Requery

Esto es para que cada vez que pongas el cursor en él, "reconsulte" su origen de la fila y tenga en cuenta el nuevo valor que hay en el combinado Marca.

Y ya puestos a tener que escribir código te digo lo que haría. Dejaría los orígenes de la fila en blanco, y en el evento Al recibir el enfoque del cuadro combinado Marca crearía un procedimiento de evento y entre Private Sub y End sub pondría

marca.rowsource="select marca from coches group by marca"

Y en el evento Al recibir el enfoque del cuadro combinado Modelo pondrías

If isnull([marca]) then

Msgbox"Nenico, ¿Es que no te das cuenta que Marca está vacío?", vbokonly+vbexclamation, "Señor, dame paciencia"

Aunque lo veas así va todo en una línea

Marca. Setfocus

else

modelo rowsource="select Modelo from coches where marca='" & me.marca & "' group by marca"

end if

De todas formas, si quieres, repito, si quieres, mándame un mensaje, sólo el mensaje, a [email protected] y te mando los dos ejemplos.

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas