Access - Combos combinados

   
Vista:

Combos combinados

Publicado por Antonia (4 intervenciones) el 05/12/2011 15:03:24
Hola, buenos días

He estado mirando en el foro pero no he podido encontrar el modo de hacer lo siguiente:

Prestaciones (Tabla 1)
Id
CODPREST
DESCRPREST


Tipo Prestaciones (Tabla 2)
Id
CODPREST
CODTIPO
DESCRTIPO

CODPREST de ambas tablas está vinculado de 1 a infinito (referencia integral)

TtosPac (Tabla 3)
Id
Paciente
FechaVisita
Cantidad
DESCRPREST (Busca el dato de la Tabla 1)
DESCRTIPO (Busca el dato de la Tabla 2)

Formulario (origen en la Tabla 3) (igual nombre que la tabla)
DESCRPREST (combo)
DESCRTIPO (combo)
Cantidad

Necesito que al seleccionar del combo DESCRPREST una de las opciones, sólo se me seleccione en el combo DESCRTIPO aquella/s que donde coincide el CODPREST por el que están vinculadas.
He aplicado varias de las cosas que he visto en el foro pero no me funciona ninguna, no sé si será porque entre la Tabla 1 y 2 he establecido una referencia integral de 1 a muchos, o porque la Tabla 3 va a buscar los datos a dos tablas. El caso es que estoy más perdida que Wally y les agradecería me dieran una ayudita.
Gracias y buen día
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

Combos combinados

Publicado por angelessebas (208 intervenciones) el 05/12/2011 18:33:55
Hola,

En principio, soy totalmente contraria a realizar vinculaciones en el diseño de la BD, lo único que hacen es "encorsetar" la base de datos y no traen más que problemas. Es mejor hacerlas cuando se necesitan, en una consulta... o dónde sea.

Para los cuadros combinados en cascada, tengo algún ejemplo en la página:

http://angelessebas.es/

en el apartado Supuestos y Solucciones ---> Cuadros combinados ---> Cuadros combinados en cascada.

Me cuentas, saludos Angeles
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

Combos combinados

Publicado por Antonia (4 intervenciones) el 07/12/2011 13:11:38
Hola Angeles
Muchas gracias por contestarme tan rápido.
Ya estuve en tu página hace unos días consultando los cuadros combinados en cascada, pero no me función. Lo que voy a hacer es quitar la vinculación entre las dos primeras tablas y después lo voy a intentar con lo anotabas en tu página.

Ya te cuento, gracias y saludos
Antonia
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

Combos combinados

Publicado por Antonia (4 intervenciones) el 07/12/2011 14:52:42
Hola Angeles,
He quitado las vinculaciones y después apliqué lo que figura para cuadros combinados en cascada de la página que me diste y funciona genial el código.
Pero... me pasaba lo mismo que a otro compañero del foro, es decir, que siempre se me queda en el segundo combo por defecto lo que seleccioné para el combo anterior, así que he aplicado lo siguiente que le aconsejaste:

En Origen de la fila dejé:
SELECT CODPREST, DESCRPREST FROM Prestaciones ORDER BY DESCRPREST;

Y en el procedimiento de evento Al hacer click del último combo "DESCRTIPO" puse:
Me!Refresh
Form.RecordSource = "SELECT from Tipo Prestaciones * WHERE CODPREST ='" & Form!DESCRPREST.Value & "'"
Pero me da error "3141", señalándome que la instrucción SELECT incluye una palabra reservada, falta argumento ...

Gracias de antemano y 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

Combos combinados

Publicado por angelessebas (208 intervenciones) el 07/12/2011 19:11:36
Hola,

Form.RecordSource = "SELECT * from [Tipo Prestaciones] WHERE CODPREST ='" & Form!DESCRPREST.Value & "'"

cuando un nombre de campo, de tabla... etc. tiene espacios en blanco, tiene que ir entre corchetes.

Saludos, Angeles
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

Combos combinados

Publicado por Antonia (4 intervenciones) el 12/12/2011 10:59:12
Hola Angeles,

Ya me dí cuenta de los corchetes y después de cambiarlo seguía igual sin funcionar, pero lo que veo que está diferente es el asterisco delante del FROM que yo lo tengo delante del WHERE.
Lo cambio pero ahora me sale nuevamente sin combinar el contenido de los cuadros.
Lo miraré pero si se te ocurre algo te agradecería me lo comentaras.

Muchas gracias
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

Combos combinados

Publicado por angelessebas (208 intervenciones) el 12/12/2011 11:49:39
Hola,

Hay 2 formas de seleccionar los campos de una tabla mediante un SELECT, nombrar los campos (los que necesites) separados por , o poner * (selecciona TODOS los campos de la tabla.

Si no necesitas todos los campos de esa tabla sería más lógico que utilizases unicamente los que van en el formulario. Por ejemplo si se llaman campo1, campo2 y campo3 pondrías:

Select campo1, campo2, campo3 From from [Tipo Prestaciones] WHERE CODPREST ='" & Form!DESCRPREST.Value & "'

Es decir, la instrucción SELECT consta:

SELECT <campos a seleccionar separados por comas o * si los quieres todos>
FROM <tabla de la que quieres seleccionar>
WHERE <condición o condiciones por lo que quieres filtrar>
ORDER BY <campos por los que quieres ordenar separados por ,>

Me cuentas, saludos Angeles
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