Creación de informes de Microsoft Access

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!

preguntado el 12 de junio de 12 a las 20:06

1 Respuestas

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

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 or As 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. - fionnuala

Gracias. 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

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.