PDA

Vollständige Version anzeigen : Kilometer rechnen


elsenandy
19.06.2012, 15:48
Hallo.

Ich habe folgendes Problem..

Ich möchte aus einer Tabelle die mit Kilometerinformationen und Spritmenge gefüllt ist, den Durschnitsverbrauch rechnen..

In meiner Tabelle sind folgende Kolonnen vorhanden:

Fahrzeugnummer Datum Kilometerstand Liter

Im Moment haben wir 37 verschiedene Fahrzeugnummern.. Ansonsten wäre es einfach..

Im Query habe ich die selbe Liste, sortiert nach Fahrzeugnummer, sodass ich eine Spalte hinzufügen möchte die mir die aktuellen Kilometer MINUS die Kilometer der vorherigen Zeile GETEILT durch die aktuelle Liter errechnet..

Da ich eine fortlaufende Nummer hier nicht verwenden kann, bräuchte Ich ein Befehl der mir es ermöglicht den Kilometerwert der "Zeile darüber" zu nutzen um die Differenz zu errechnen.

Auch soll getestet werden ob die Bus Nummer der vorherigen Zeile die selbe ist der aktuellen, da sonst in der Tabelle Probleme auftreten zu dem Moment wo die Fahrzeugnummer ändert..

Ich habe mal die Datenbank mit angehängt..

Im Voraus vielen Dank,
Ich hoffe Ihr könnt mir helfen.

Atrus2711
19.06.2012, 16:08
Hi,

was sind denn die Liter, Nachtankmenge oder restlicher Tankinhalt? Und warum stehen die in einer Tabelle?

Wenn du regelmäßig die km-Stände misst und jeden Tankvorgang erfasst, könntest du einfach einen Zeitraum vorgeben und für diesen Zeitraum

die Summe der Tankmenge/-kosten bilden
die Differenz aus größtem und kleinsten km-Stand im Zeitraum bilden (=Strecke).
Quotient der beiden ergibt den Verbrauch bzw. die Kosten.

elsenandy
19.06.2012, 16:32
Die Liter ist die Tankmenge..

Nun es geht ansich um eine Kontrolle, (Spritklau,..) die sofort und für jeden Tankvorgang erfolgen muss,.. Des weiteren kann ich so einen detail über die Fahrer erhalten, wenn ich der Tabelle noch ein Feld für den fahrernamen hinzufüge..

Vielen Dank

Thomas Möller
19.06.2012, 17:30
Hallo!
Die Liter ist die Tankmenge..
Nun es geht ansich um eine Kontrolle, (Spritklau,..) die sofort und für jeden Tankvorgang erfolgen muss,.. Des weiteren kann ich so einen detail über die Fahrer erhalten, wenn ich der Tabelle noch ein Feld für den fahrernamen hinzufüge..

such doch mal hier im Forum (Stichwort "Fahrtenbuch"), da ist einiges zu finden.

CU

elsenandy
19.06.2012, 18:16
Hab ich schon durchsucht, aber leider nichts für mich gefunden.. Muss auch dazu sagen dass ich keine Kentnisse im Vba programieren habe..
Das einzige was ich brauch ist diese Rechnung der Kilometer, für den Rest komm ich klar.. :-/

Danke aber..

ebs17
19.06.2012, 18:58
Befehl der mir es ermöglicht den Kilometerwert der "Zeile darüber" zu nutzen um die Differenz zu errechnen
SELECT T.*,
(SELECT Max(X.Kilometerstand)
FROM DeineTabelle X
WHERE X.Kilometerstand < T.Kilometerstand
AND X.Fahrzeugnummer = T.Fahrzeugnummer) AS VorherigeKilometer
FROM DeineTabelle T
Schau mal, ob Du mit diesem Ansatz weiterkommst.

Zur Beruhigung: Das ist pures SQL.

elsenandy
19.06.2012, 19:03
Vielen Dank, werd ich morgen mal sofort testen.. Vielen Dank.

elsenandy
20.06.2012, 07:24
Ich habe mich nun mit dem Code beschäftigt, aber muss mich da leider geschlagen geben,..

Bin in jeglichen Programiersprachen, ob nun VBA ODER SQL nicht geschult, und tu mich echt schwer dies zu verstehen, Den Ansatz hab ich kapiert, aber leider bring ich es nicht fertig mir den Code zurechtzubasteln wie Ich ihn brauche,..

Habe dafür noch mal meine DB angehängt, und wäre wirklich happy falls jemand sich bemühen könnte, mir diesen Code einzubasteln dass ich im Query in eine weitere Spalte den alten Kilometerstand für das Fahrzeug bekomme,

Ich hab noch mal alles durchforstet, und auch einige Beispiele gefunden, allerdings war das entweder gerechnet über eine fortlaufende ID, oder es war nicht Fahrzeugbezogen..

Im Voraus Vielen Dank.
Ich hoffe dass mir da jemand weiterhelfen kann.

Atrus2711
20.06.2012, 08:11
Stumpfes Ersetzen der Feld- und Tabellennamen führte zu
SELECT T.*,
(SELECT Max(X.[KM-Stand])
FROM Hitparade X
WHERE X.[KM-Stand] < T.[KM-Stand]
AND X.[N° Bus] = T.[N° Bus]) AS VorherigeKilometer
FROM Hitparade T