Consulta de union

Buenas expertos
Realice una consulta de union a partir de dos consultas de parámetros (que piden una fecha inicio y fin), el problema que tengo es que en la consulta de union me pide un tercer parámetro y no me interesa que me lo pida
SELECT [FECHA], [CAUSAL RETRASOS 1],[TIEMPO 1]
FROM [RETRASOS K1]
UNION ALL SELECT [FECHA], [CAUSAL RETRASOS 2],[TIEMPO 2]
FROM [RETRASOS K2];
El tercer parámetro es parámetro que pide es "CAUSAL RETRASOS 2" y si esto lo dejo en blanco y le doy enter, en el resultado me borra ciertos datos en la el resultado fina de la consulta final.
¿Qué puedo hacer para que esto no ocurra?
Gracias de antemano

2 Respuestas

Respuesta
1
Puedes utilizar la Claúsula WHERE en las dos Select  (después de FROM pones WHERE)
Ahora lo que me parece que quieres hacer es pasar las mismas fechas a las dos select, ya que si sólo lo haces para una la filtrará y la unirá al resultado de la otra.
Se me ocurre lo siguiente:
¿Por qué no lanzas la consulta desde un formulario donde introduces la fecha de inicio y fin para las dos Select?
Si este este tu problema haz lo siguiente:
1) Crea un formulario nuevo y gardale (le llamaré FRMFILTROFECHA)
2) Crea dos cuadros combinados, llamados CBFINICIAL y CBFFINAL
3) Si quieres puedes poner el formato a fecha y la máscara de entrada (así evitas que se introduzca un tipo de datos distinto)
4) Crea un botón de comando para adjuntar el evento.
5) Vamos a "arreglar" la consulta para que admita los criterios introducidos en los combos.
Después de WHERE en las dos Select pon Between Forms![FRMFILTROFECHA]![CBFINICIAL] AND Forms![FRMFILTROFECHA]![CBFFINAL], con esto le estás diciendo que una todas dónde (WHERE) las fechas estén entre las dos introducidas en el formulario.
6) Una vez realizado lo anterior vamos a lanzar la consulta. En el procedimiento de Evento Al Hacer Click del Botón pon lo siguiente entre Private Sub y End Sub.
Docmd. OpenQuery "NOMBRECONSULTA" (Sustituye Nombre consulta por el nombre de la consulta de unión)
Espero que esto resuelva tu problema y, si lo crees conveniente, cierra la pregunta.
Buenas
Intente tu sugerencia pero al momento de implementarla de salia un error en la clausa de FROM en la consulta, como hice la consulta publica, me respondió otro experto que me sugerido otra respuesta la cual me dio mejor resultado, de todas formas gracias por tu colaboración
Respuesta
1
Funez seria de mucha ayuda si pusieras la base de datos con la que trabajas, a mi entender la consulta esta bien formulada cuando realizas un union all necesitas que ambos select tengan siempre los mismos datos. No entiendo porque pides parámetros sino los utilizas. Quizás debas cambiar el parámetro por el nombre del campo directamente y así poder solucionar tu problema.
Mantenme informado como te fue con esto.
Éxitos
Kaos
Buenas, realmente lo que hice fue cambiarle el nombre al campo en la tabla de origen al campo "CAUSAL RETRASOS 2", por solo "Causal" y con eso evite el problema que se me estaba presentando, gracias por tu colaboración, tu respuesta fue de gran utilidad

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas