Creación de informes de Microsoft Access
Frecuentes
Visto 106 veces
0
Soy muy nuevo en el acceso y estoy tratando de crear un informe basado en la información que tengo en mis tablas. Aquí hay una muestra de los datos actuales que están en la tabla...
id Date Name Location Model Count
1 06/10/2012 William Basement Desktop 22
2 06/10/2012 Doug Top Floor Desktop 15
3 06/10/2012 Jane Top Floor Laptop 12
4 06/11/2012 William Basement Desktop 29
5 06/11/2012 Doug Top Floor Desktop 35
6 06/12/2012 William Basement Desktop 31
7 06/12/2012 Doug Top Floor Desktop 41
8 06/12/2012 Jane Top Floor Laptop 24
Ahora lo que busco es crear un informe que se agrupe por mes y sume los conteos, tomando el último conteo y restando el primero del primer día del mes que se registra. Entonces, mi informe debería verse así, omitiendo ID, ya que no son datos necesarios para el informe.
Date Name Location Model Count
June 2012 William Basement Desktop 9
June 2012 Doug Top Floor Desktop 26
June 2012 Jane Top Floor Laptop 12
Si alguien tiene alguna idea de cómo puedo lograr esto, teniendo en cuenta que soy muy nuevo en el acceso, ¡sería genial!
1 Respuestas
0
Puede crear una consulta primero y luego basar su informe en eso. Incluya un control que pueda configurar para la diferencia entre MaxOfCount y MinOfCount.
SELECT DISTINCT Format([Date],"yyyy mm") AS Sort,
Format([Date],"mmm yyyy") AS [Month],
a.Name, a.Location, a.Model,
(SELECT TOP 1 [Count]
FROM Report b
WHERE a.Name=b.Name AND a.Location=b.Location AND a.Model=b.Model
ORDER BY [Date] DESC, Id) As MaxOfCount,
(SELECT TOP 1 [Count]
FROM Report b
WHERE a.Name=b.Name AND a.Location=b.Location AND a.Model=b.Model
ORDER BY [Date], Id) AS MinOfCount
FROM Report a
Respondido el 12 de junio de 12 a las 21:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas date ms-access grouping or haz tu propia pregunta.
Esto se ve bien, pero tengo una pregunta. Todavía no lo he probado porque no estoy seguro de algunas cosas... te refieres a a.Nombre a.Ubicación, etc. Entiendo que "a" sería mi tabla, pero más adelante dices "del Informe b donde a.name=b.name etc" ¿qué es b? - John
Informe es el nombre de su tabla. Hay dos alias, "a" y "b". Tu puedes decir
FROM Report As b
orAs a
. Tiene dos alias porque necesita subconsultas para obtener el primer y el último recuento por fecha. Por cierto, si los nombres de las columnas son reales, está usando muchos palabras reservadas y es probable que estos le causen problemas a lo largo del camino. - fionnualaGracias. Lo probaré pronto e informaré. Tú has sido de gran ayuda. Los nombres de las columnas no son exactos, solo los acorté... los reales son ejemplos "Nombre" es "UsersFullName" y Model es "StationModel" y count es "ProductionCounts". - John
los resultados parecen ser los mismos... por ejemplo, para 1 línea en mayo y junio, MaxOfCount y MinOfCount son exactamente iguales para todas las líneas que ocurren en mayo y junio... "Mayo de 2012 Nombre: William - Maxofcount 200 - MinOfCount 134" y luego "Junio de 2012 Nombre: William - Maxofcount 200 - MinOfCount 134" - John
Sus datos de muestra proporcionan un mes solamente. Estaba un poco perdido en lo que querías. Si necesita una consulta más compleja, debe proporcionar datos más precisos. - fionnuala