Cómo hacer una consulta específica para access 2007

De antemano, gracias a quien/es me puedan ayudar porque mi conocimiento no da para más. No suelo trabajar con VisualBasic sino con las opciones que sé de Access 2007.

Pretendo hacer un informe basado en una consulta, utilizo el asistente de informes.

El problema está en la consulta.

Tengo una tabla con los siguientes campos:

Marca (campo texto)

Modelo (campo texto)

Tiporeparacion (campo texto)

Fecha (campo fecha)

Inicio trabajo (campo hora)

Fin trabajo (campo hora)

Necesitaría una consulta para poder obtener:

  • Total de averías por tiporeparacion y fecha para cada marca y modelo.
  • Promedio de duración de tiporeparacion y fecha para cada marca y modelo.
  • Tiempos máximo y mínimo de duración de tiporeparacion para cada marca y modelo.
  • Porcentaje de tiempo empleado en cada tiporeparacion y fecha para cada marca y modelo.

Si alguien me pudiese ayudar a configurar esto se lo agradecería infinitamente.

1 respuesta

Respuesta
2

Suponiendo que tu tabla se llama TPepe, y sin contar el último punto que no entiendo cómo quieres sacar ese porcentaje, la consulta que necesitas podría ser ésta:

SELECT Marca, Modelo, TipoReparacion, Fecha, Count(Marca) AS TotalAverías, Avg(DuracionReparacion) AS PromedioDuracion, Max(DuracionReparacion) AS TMaximo, Min(DuracionReparacion) AS TMinimo
FROM (SELECT TPepe.Marca, TPepe.Modelo, TPepe.TipoReparacion, TPepe.Fecha, DateDiff("n",[InicioTrabajo],[FinTrabajo]) AS DuracionReparacion
FROM TPepe) AS Aux
GROUP BY Marca, Modelo, TipoReparacion, Fecha;

Que no es más que una consulta de datos agrupados usando las distintas opciones de agrupación en los campos correspondientes. 

Aunque yo lo hice todo en una consulta, se podría haber hecho en dos pasos:

1º/ Creas una consulta con los campos que necesitas de la tabla (marca, modelo, tipo reparación y fecha) y creas uno con el tiempo de reparación (en mi ejemplo, en minutos):

SELECT TPepe.Marca, TPepe.Modelo, TPepe.TipoReparacion, TPepe.Fecha, DateDiff("n",[InicioTrabajo],[FinTrabajo]) AS DuracionReparacion FROM TPepe

2º/ Creas la consulta de totales sobre la consulta anterior (supongamos que la guardas como CAuxInforme):

SELECT Marca, Modelo, TipoReparacion, Fecha, Count(Marca) AS TotalAverías, Avg(DuracionReparacion) AS PromedioDuracion, Max(DuracionReparacion) AS TMaximo, Min(DuracionReparacion) AS TMinimo
FROM CAuxInforme
GROUP BY Marca, Modelo, TipoReparacion, Fecha;

Para hacer las consultas en tu BD, crea una consulta nueva, vete a Vista SQL, y pega las que te sugiero (obviamente, cambia el nombre de la tabla y cualquier otro que no coincida exactamente con los que tengas).

Un saludo.


     bit.ly/ForoNkSv 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas