sumatorias segun criterios desde tabla

R

Roland Olano

SAludos comunidad.

Tengo una duda.

Tengo una tabla con la siguiente informacion

Cod_eq
Fecha
Horas_uso
Horas_reparacion

Ejemplo

Cod_eq Fecha Horas_uso Horas_reparacion
3511 1-2-05 10 0
4816 1-2-05 7 0
3511 2-2-05 8 0
4816 2-2-05 4 0
5890 2-2-05 6 0
3511 3-2-05 5 0
4816 3-2-05 6 0
5890 4-2-05 11 1
3511 5-2-05 5 2
4816 5-2-05 5 3



Ok amigos. espero que con esta información ficticia) quede claro el tipo de
información que llevo almacenada en mi base de datos) .

Hasta aqui todo va bien. Pero mi pregunta es la siguiente y espero ser claro
y saber si se puede hacer.

Lo que necesito es crear "algo" (consulta, aplicacion, macro) capaz de
recorrer toda la tabla (desde el primer registro hasta el ultimo - que no se
como hacer) y en su recorrido que calcule la sumatoria de "horas_uso" de
cada equipo "hasta" que las horas_reparacion sean diferentes que 0 (es
decir, 1...2...3...4 o +).

En el resultado me debe aparecer:
- El código del equipo
- La primera fecha (donde se inicia el conteo)
- La ultima fecha (en donde aparece las horas de reparacion)
- La sumatoria de horas_uso (incluyendo aquellos que aparecen en el mismo
registro)

Creo que es importante mencionar que lo unico que he podido hacer es crear
la tabla ordenada por fecha y luego por cod_eq. No existen campos nulos en
ningun registro de la tabla (todas han sido validadas como 0) y... ahora
rezo para que alguien me pueda ayudar.


Gracias amigos

Roland
Lima - Perú
 
V

Vincent Johns

I am not sure exactly what you want your output to look like, but I
assume that sorting the results by [Cod_eq], and showing the first and
last values of [Fecha] and the sums of hours in both fields will be
close to what you want. Here is what I did:

[Equipo] Table Datasheet View:

Equipo_ID Cod_eq Fecha Horas_uso Horas_reparacion
----------- ------ -------- --------- ----------------
-1725772976 3511 1/2/2005 10 0
1908907281 4816 1/2/2005 7 0
108257790 3511 2/2/2005 8 0
1223224743 4816 2/2/2005 4 0
2100678748 5890 2/2/2005 6 0
-1498920915 3511 3/2/2005 5 0
1722621418 4816 3/2/2005 6 0
-36798941 5890 4/2/2005 11 1
1012899368 3511 5/2/2005 5 2
1189526793 4816 5/2/2005 5 3

The [Equipo_ID] field was not necessary for this Query, but it might be
needed if you wish to see running totals.

The following Query calculates the totals.

[Q_Sum] SQL View:

SELECT Equipo.Cod_eq,
Min(Equipo.Fecha) AS [Primera Fecha],
Max(Equipo.Fecha) AS [Ultima Fecha],
Sum(Equipo.Horas_uso) AS SumHoras_uso,
Sum(Equipo.Horas_reparacion) AS SumHoras_reparacion
FROM Equipo
GROUP BY Equipo.Cod_eq
ORDER BY Equipo.Cod_eq, Min(Equipo.Fecha);


[Q_Sum] Query Datasheet View:

Cod_eq Primera Fecha Ultima Fecha SumHoras_uso SumHoras_reparacion
------ ------------- ------------ ------------ -------------------
3511 1/2/2005 5/2/2005 28 2
4816 1/2/2005 5/2/2005 22 3
5890 2/2/2005 4/2/2005 17 1

-- Vincent Johns <[email protected]>
Please feel free to quote anything I say here.


Roland said:
SAludos comunidad.

Tengo una duda.

Tengo una tabla con la siguiente informacion

Cod_eq
Fecha
Horas_uso
Horas_reparacion

Ejemplo

Cod_eq Fecha Horas_uso Horas_reparacion
3511 1-2-05 10 0
4816 1-2-05 7 0
3511 2-2-05 8 0
4816 2-2-05 4 0
5890 2-2-05 6 0
3511 3-2-05 5 0
4816 3-2-05 6 0
5890 4-2-05 11 1
3511 5-2-05 5 2
4816 5-2-05 5 3



Ok amigos. espero que con esta información ficticia) quede claro el tipo de
información que llevo almacenada en mi base de datos) .

Hasta aqui todo va bien. Pero mi pregunta es la siguiente y espero ser claro
y saber si se puede hacer.

Lo que necesito es crear "algo" (consulta, aplicacion, macro) capaz de
recorrer toda la tabla (desde el primer registro hasta el ultimo - que no se
como hacer) y en su recorrido que calcule la sumatoria de "horas_uso" de
cada equipo "hasta" que las horas_reparacion sean diferentes que 0 (es
decir, 1...2...3...4 o +).

En el resultado me debe aparecer:
- El código del equipo
- La primera fecha (donde se inicia el conteo)
- La ultima fecha (en donde aparece las horas de reparacion)
- La sumatoria de horas_uso (incluyendo aquellos que aparecen en el mismo
registro)

Creo que es importante mencionar que lo unico que he podido hacer es crear
la tabla ordenada por fecha y luego por cod_eq. No existen campos nulos en
ningun registro de la tabla (todas han sido validadas como 0) y... ahora
rezo para que alguien me pueda ayudar.


Gracias amigos

Roland
Lima - Perú

My guess as to an English translation is as follows:

From Roland Olano <[email protected]>
2/13/2006 12:36 PM
microsoft.public.access.queries
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top