¿ Como pasar una SQL a una consulta que existe en la BD en Access ?
Publicado por Jesus L (4 intervenciones) el 04/03/2021 16:53:09
Hola a tod@s,
Sirva estas primeras lineas de presentación, ya que no he encontrado ningún donde presentarse antes de escribir un mensaje.
Estoy haciendo para la empresa en la que trabajo de una gestión de costes. Para ello he creado la BD en Access y gestiono los partes de trabajo mediante un formulario que funciona perfectamente. El problema lo tengo al sacar esos partes en un informe. Me intentaré explicar mejor.
La BD tiene entre otras 2 tablas que guardan los partes de trabajo. Una de se llama “CabeceraPartes” y la otra “LineasPartesTrabajao”. En la Cabecera se guardan los datos del trabajador, la fecha, la obra en la que trabajan, entre otros, y en la segunda, se guardan las distintas obras, el tiempo, el costo, etc, etc, de cada trabajador y para ese día.
La cosa es que necesito sacar un listado con los partes de trabajo de la obra que seleccione el usuario en el menú principal. Es decir, en el menú principal al hacer click en la casilla de verificación de “Informe partes de mano de obra “, se activan 2 cuadros en los que se le pide al usuario que introduzca el código de la obra y el capítulo de dicha obra, en definitiva 2 parámetros.
Una vez que tengo los datos de la obra que quiere el usuario listar, hago click sobre el botón “Vista Previa”, también situado en el formulario MenuPrincipal y construyo la siguiente instrucción SQL: ( Voy a separar las partes para que se vea más claro )
SELECT CabeceraPartes.Codigo_Trabajador, CabeceraPartes.Nombre_Trabajador, CabeceraPartes.Año, LineasPartesTrabajo.Numero_Parte, LineasPartesTrabajo.Fecha_Parte, LineasPartesTrabajo.Codigo_Obra, LineasPartesTrabajo.Capitulo_Obra, LineasPartesTrabajo.Horas_Trabajadas, LineasPartesTrabajo.Codigo_Seccion, LineasPartesTrabajo.Precio_Hora, LineasPartesTrabajo.Concepto, LineasPartesTrabajo.Total_linea
FROM CabeceraPartes RIGHT JOIN LineasPartesTrabajo ON CabeceraPartes.[Numero_Parte] = LineasPartesTrabajo.[Numero_Parte]
WHERE (((LineasPartesTrabajo.Codigo_Obra)=888) AND ((LineasPartesTrabajo.Capitulo_Obra)=2))
ORDER BY CabeceraPartes.Codigo_Trabajador, LineasPartesTrabajo.Fecha_Parte;
A partir de ahí es donde no sé seguir. La consulta existe, es más cuando pongo la instrucción arriba indicada, funciona perfectamente. En este caso estoy forzando que me lista los datos dela obra 888 y el capítulo 2 de dicha obra. Pero claro, eso no puede ser. El informe debe listar la obra que selecciones el usuario en el menú principal en las casillas habilitadas para tal efecto.
La pregunta es ¿ cómo se hace para poderle pasar la instrucción SQL a la consulta “Consulta_Partes_Trabajo”?. Especificar que los datos de la obra y su capitulo que debo consultar se extraen de 2 cuadros de textos del formulario MenuPrincipal.
Si hay algo que no está claro, por favor, no dudéis en decírmelo. Intento responder rápido.
Saludos y gracias de antemano.
Sirva estas primeras lineas de presentación, ya que no he encontrado ningún donde presentarse antes de escribir un mensaje.
Estoy haciendo para la empresa en la que trabajo de una gestión de costes. Para ello he creado la BD en Access y gestiono los partes de trabajo mediante un formulario que funciona perfectamente. El problema lo tengo al sacar esos partes en un informe. Me intentaré explicar mejor.
La BD tiene entre otras 2 tablas que guardan los partes de trabajo. Una de se llama “CabeceraPartes” y la otra “LineasPartesTrabajao”. En la Cabecera se guardan los datos del trabajador, la fecha, la obra en la que trabajan, entre otros, y en la segunda, se guardan las distintas obras, el tiempo, el costo, etc, etc, de cada trabajador y para ese día.
La cosa es que necesito sacar un listado con los partes de trabajo de la obra que seleccione el usuario en el menú principal. Es decir, en el menú principal al hacer click en la casilla de verificación de “Informe partes de mano de obra “, se activan 2 cuadros en los que se le pide al usuario que introduzca el código de la obra y el capítulo de dicha obra, en definitiva 2 parámetros.
Una vez que tengo los datos de la obra que quiere el usuario listar, hago click sobre el botón “Vista Previa”, también situado en el formulario MenuPrincipal y construyo la siguiente instrucción SQL: ( Voy a separar las partes para que se vea más claro )
SELECT CabeceraPartes.Codigo_Trabajador, CabeceraPartes.Nombre_Trabajador, CabeceraPartes.Año, LineasPartesTrabajo.Numero_Parte, LineasPartesTrabajo.Fecha_Parte, LineasPartesTrabajo.Codigo_Obra, LineasPartesTrabajo.Capitulo_Obra, LineasPartesTrabajo.Horas_Trabajadas, LineasPartesTrabajo.Codigo_Seccion, LineasPartesTrabajo.Precio_Hora, LineasPartesTrabajo.Concepto, LineasPartesTrabajo.Total_linea
FROM CabeceraPartes RIGHT JOIN LineasPartesTrabajo ON CabeceraPartes.[Numero_Parte] = LineasPartesTrabajo.[Numero_Parte]
WHERE (((LineasPartesTrabajo.Codigo_Obra)=888) AND ((LineasPartesTrabajo.Capitulo_Obra)=2))
ORDER BY CabeceraPartes.Codigo_Trabajador, LineasPartesTrabajo.Fecha_Parte;
A partir de ahí es donde no sé seguir. La consulta existe, es más cuando pongo la instrucción arriba indicada, funciona perfectamente. En este caso estoy forzando que me lista los datos dela obra 888 y el capítulo 2 de dicha obra. Pero claro, eso no puede ser. El informe debe listar la obra que selecciones el usuario en el menú principal en las casillas habilitadas para tal efecto.
La pregunta es ¿ cómo se hace para poderle pasar la instrucción SQL a la consulta “Consulta_Partes_Trabajo”?. Especificar que los datos de la obra y su capitulo que debo consultar se extraen de 2 cuadros de textos del formulario MenuPrincipal.
Si hay algo que no está claro, por favor, no dudéis en decírmelo. Intento responder rápido.
Saludos y gracias de antemano.
Valora esta pregunta


0