Duda access y sql

Hola, mi problema es el siguiente.
Estoy haciendo una base de datos en access, y quiero hacer una consulta especifica de SQL (UNION).
Tengo definida la siguiente relación de SQL, con el propósito de que me devuelvan los días que trabaja cada colegiado (en las tablas de datos de los colegiados, en los campos figuran los días (ademas del numero de colegiado) y están marcados para cada colegiado con un cuadro de validación):
SELECT Colegiado, "Lunes" AS [Dia]
FROM Medicosdias WHERE "Lunes" = "Verdadero"
UNION SELECT Colegiado, "Martes"
FROM Medicosdias WHERE "Martes" = "Verdadero"
UNION SELECT Colegiado, "Miercoles"
FROM Medicosdias WHERE "Miercoles" = "Verdadero"
Pero tengo el problema de que la tabla resultante me aparece completamente vacía (todas las tablas de datos contienen ya registros).
En la tabla medicosdias aparecen los números de colegiados, y las casillas de validación de cada día.
Si necesitas una aclaración, no dudes en preguntarme.
Gracias
Respuesta
1
Creo que tu problema es que estas seleccionando los datos como si fueran String al ponerlos entre comillas en lugar de un Boolean (verdadero o falso).
utiliza Where "Lunes"=True
a ver si te funciona así. Si no te funciona prueba con
Where "Lunes"=1
Ya que los boolean se almacenan como 0 (falso)y 1 (verdadero) en algunas bases de datos
Por lo demás la consulta de unión es correcta
Ok, muchas gracias por responderme. Poniendo True ha funcionado, pero ahora me surge otro problema... y es que me devuelve todos los días... estén marcados como trabajados o no (en la casilla de validación), es decir la tabla me resulta del siguiente modo:
Colegiado Días
12365 Lunes
12365 Martes
12365 Miércoles
95486 Lunes
95486 Martes
95486 Miércoles
Etcétera...(Los días posibles de trabajo son solo esos tres, de los cuales unos colegiados trabajan unos días y otros colegiados otros)
Me aparecen todos los días POSIBLES, no los realmente trabajados (que son los marcados con la casilla de validación). ¿Dónde puede estar el error?
Hola de nuevo, ya solucione ese error, cambiando unas cosillas de unas tablas.
Ahora la duda que tengo es que cómo hago para que en un formulario, una casilla me de en la lista desplegable unos valores posibles, ¿condicionados por lo introducido en una casilla anterior?
Muchas Gracias
En las propiedades del campo de selección en origen del registro tienes que poner la clausula select más o menos así:
select DATO2 FROM Tabla Where DATO1=nombreCampodelFormulario.Value

1 respuesta más de otro experto

Respuesta
1
Haber prueba con lo siguiente:
SELECT Colegiado, "Lunes" AS [Dia]
FROM Medicosdias WHERE [Lunes] = true
UNION SELECT Colegiado, "Martes"
FROM Medicosdias WHERE [Martes] = true
UNION SELECT Colegiado, "Miercoles"
FROM Medicosdias WHERE [Miercoles] = true

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas