Mengenzuwachsberechnung

22/09/2008 - 09:38 von Andreas Zwillsperger | Report spam
Hallo NG,


Ich komme leider mit einer eigentlich einfachen Struktur bei einer
Berechnung nicht weiter. In meiner Access 2000 DB werden Daten aus einem csv
file
eingelesen (Datum;Zeit;Wert) und der Zuwachs zu einer Tabelle hinzugefügt.
Die Werte sind Flüssigkeitsdurchsatz
mengen in Liter. In einem Abstand von 10 Min. wird eine Zeile mit der
aktuellen Gesamtmenge
eingefügt. Was ich benötige, wàre eine zusàtzliche Spalte in der der
aktuelle Zuwachs eines
Intervals (10 Min.)ausgegeben wird. Die Daten werden auf Anfrage manuell
eingelesen, werden
also zu unterschiedlichen Zeiten abgerufen.

So sieht werden die Daten momentan dargestellt.

22.09.2008 | 09:06:06 | 116
22.09.2008 | 09:16:16 | 119
22.09.2008 | 09:26:26 | 123
22.09.2008 | 09:36:40 | 145
22.09.2008 | 09:46:30 | 148
22.09.2008 | 09:56:36 | 151
22.09.2008 | 10:06:01 | 153


Nachfolgendes wàre die Tabelle, die ich benötige.


22.09.2008 | 09:06:06 | 116 |
22.09.2008 | 09:16:16 | 119 |3
22.09.2008 | 09:26:26 | 123 |4
22.09.2008 | 09:36:40 | 145 |23
22.09.2008 | 09:46:30 | 148 |3
22.09.2008 | 09:56:36 | 151 |3
22.09.2008 | 10:06:01 | 151 |0


Was mir jetzt dazu einfàllt ist eigentlich nur, die eingelesenen Werte in
einer Schleife
durchlaufen lassen, den 1.Wert in einer Variablen packen, von den 2. Wert
abziehen und in
Spalte 4 der aktuellen Zeile einfügen.
Ich wollte jetzt einmal nachfragen ob es dafür nicht einen Praktischeren Weg
gibt.



Grüße

Andreas
 

Lesen sie die antworten

#1 Peter Doering
22/09/2008 - 10:49 | Warnen spam
Hallo,

Andreas Zwillsperger wrote:

Ich komme leider mit einer eigentlich einfachen Struktur bei einer
Berechnung nicht weiter. In meiner Access 2000 DB werden Daten aus einem csv
file
eingelesen (Datum;Zeit;Wert) und der Zuwachs zu einer Tabelle hinzugefügt.
Die Werte sind Flüssigkeitsdurchsatz
mengen in Liter. In einem Abstand von 10 Min. wird eine Zeile mit der
aktuellen Gesamtmenge
eingefügt. Was ich benötige, wàre eine zusàtzliche Spalte in der der
aktuelle Zuwachs eines
Intervals (10 Min.)ausgegeben wird. Die Daten werden auf Anfrage manuell
eingelesen, werden
also zu unterschiedlichen Zeiten abgerufen.

So sieht werden die Daten momentan dargestellt.

22.09.2008 | 09:06:06 | 116
22.09.2008 | 09:16:16 | 119
22.09.2008 | 09:26:26 | 123
22.09.2008 | 09:36:40 | 145
22.09.2008 | 09:46:30 | 148
22.09.2008 | 09:56:36 | 151
22.09.2008 | 10:06:01 | 153

Nachfolgendes wàre die Tabelle, die ich benötige.

22.09.2008 | 09:06:06 | 116 |
22.09.2008 | 09:16:16 | 119 |3
22.09.2008 | 09:26:26 | 123 |4
22.09.2008 | 09:36:40 | 145 |23
22.09.2008 | 09:46:30 | 148 |3
22.09.2008 | 09:56:36 | 151 |3
22.09.2008 | 10:06:01 | 151 |0


Was mir jetzt dazu einfàllt ist eigentlich nur, die eingelesenen Werte in
einer Schleife
durchlaufen lassen, den 1.Wert in einer Variablen packen, von den 2. Wert
abziehen und in
Spalte 4 der aktuellen Zeile einfügen.
Ich wollte jetzt einmal nachfragen ob es dafür nicht einen Praktischeren Weg
gibt.



Der praktischste Weg ist jedenfalls, das neue Feld *nicht* zu speichern,
sondern in einer Abfrage berechnen zu lassen. Beispiel:

SELECT Datum, Zeit, Wert,
Wert-(SELECT Max(Wert)
FROM Tab1 AS T2
WHERE T2.Datum+T2.Zeit < T1.Datum+T1.Zeit)
AS Diff
FROM Tab1 AS T1

(Luftcode)

Gruss - Peter

Anmeldung zur 11. AEK unter www.donkarl.com/?AEK
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen