Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: malram am Oktober 20, 2016, 10:11:22

Titel: Zeitberechnung mit Zeitstrafe
Beitrag von: malram am Oktober 20, 2016, 10:11:22
Hallo zusammen,
bei einem Wettkampf gibt es mehrere Stationen die anzulaufen sind. Diese reine Laufzeit wurde berechnet und die Ausgabe funktioniert mit Access einwandfrei in hh:mm. Angenommen die geleistete Laufzeit ist höher als 02:20 (140min) dann sollen pro Minuten die mehr gelaufen werden 1 Punkt als Strafpunkte erzeugt werden, und diese Strafpunkte sollen dann auch nur angezeigt werden sobald diese "Zeitgrenze von 02:20" überschritten werden.
Kann mir jemand dabei helfen?
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: MzKlMu am Oktober 20, 2016, 10:37:22
Hallo,
ZitatDiese reine Laufzeit wurde berechnet
wie wird die berechnet.
Sind die 140min als Grenze immer fest, oder kann sich das im Laufe der Zeit mal ändern ?
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: malram am Oktober 20, 2016, 10:49:45
Hallo, danke für die schnelle Antwort.

Die 140Min sind ein fester Grenzwert.
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: MzKlMu am Oktober 20, 2016, 10:50:37
Hallo,
es waren 2 Fragen.
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: malram am Oktober 20, 2016, 10:55:39
Sorry, hab ich übersehen.
Ich habe Felder mit Ankunftzeiten und Abgangszeiten der einzelnen Stationen erstellt, anschließend ein berechnetes Feld, das die Laufzeiten errechnet, in meinem Fall:
([A2An]-[A1Ab])+([A4An]-[A2Ab])+([A5An]-[A4Ab])+([A7An]-[A5Ab])+([A11An]-[A7Ab])+([A12An]-[A11Ab])
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: MzKlMu am Oktober 20, 2016, 11:17:40
Hallo,
welcher Datentyp haben die Felder (A2An ...)  in der Tabelle ?
Wie werden die Daten erfasst, mit Datum oder nur die reine Zeit ?
Ist das berechnete Feld in der Abfrage oder im Formular ?
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: malram am Oktober 20, 2016, 11:25:43
Hallo,
der Datentyp ist Datum/Uhrzeit, die Daten werden mit der Uhrzeit erfasst als Bsp 11:24 usw. Das berechnete Feld ist in der selben Tabelle wie die An- u. Abgangszeiten auch.
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: MzKlMu am Oktober 20, 2016, 11:33:23
Hallo,
auf Tabelleneben geht das nicht. Verschiebe das Berechnen in eine Abfrage mit der Tabelle als Datenbasis. Das Feld in der Tabelle löschen.
Laufzeit: ([A2An]-[A1Ab])+([A4An]-[A2Ab])+([A5An]-[A4Ab])+([A7An]-[A5Ab])+([A11An]-[A7Ab])+([A12An]-[A11Ab])
Dann in der Abfrage ein weiteres Feld:
Strafpunkte: Wenn((([A2An]-[A1Ab])+([A4An]-[A2Ab])+([A5An]-[A4Ab])+([A7An]-[A5Ab])+([A11An]-[A7Ab])+([A12An]-[A11Ab]))*1440) > 140;(([A2An]-[A1Ab])+([A4An]-[A2Ab])+([A5An]-[A4Ab])+([A7An]-[A5Ab])+([A11An]-[A7Ab])+([A12An]-[A11Ab])*1440)-140;"")
ungetestet, hoffentlich habe ich die Klammern richtig abgezählt.
Da die Berechnung in der Strafpunkteformel wiederholt werden muss, gibt das eine ziemliche Lange Formel. Ich würde daher die Berechnung in eine Funktion auslagern.

Achtung es gibt 1440 und 140, die Multiplikation mit 1440 erzeugt die Minuten für den Vergleich.
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: malram am Oktober 20, 2016, 11:59:05
Hallo Klaus,
danke für die Hilfe.
Allerdings erscheint beim eingeben des zweiten Codes ein Hinweis: "Der von Ihnen eingegebene Ausdruck enthält eine Funktion, für die die falsche Anzahl von Argumenten angegegeben ist."
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: Beaker s.a. am Oktober 20, 2016, 12:39:54
Hallo Klaus,
Zitatauf Tabelleneben geht das nicht
Das kennt man von dir ja gar nicht, dass du eine Lösung präsentierst, die auf einem
IMO unkorrektem Datenmodell beruht.
Die Laufzeiten gehören doch in eine eigene Tabelle mit einem geeigneten FK zur
bestehenden Tabelle (wird sich da wohl finden lassen), und brauchen in einer Abfrage
nur noch summiert werden um die Strafpunkte zu berechnen.
Oder ist dies mal wieder so ein Schnellschuss von mir und ich habe was übersehen?
I.Ü. würde ich, auch wenn jetzt (noch) fest, den Grenzwert parametrisieren.
gruss ekkehard
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: MzKlMu am Oktober 20, 2016, 13:29:38
Hallo,
Du musst die Formel Stück für Stück einsetzen. Irgendwo stimmt da eine Klammerung nicht. Funktioniert die erste Formel ?

@ekkehard
ZitatOder ist dies mal wieder so ein Schnellschuss von mir und ich habe was übersehen?
nein, Dein Einwand ist berechtigt. Ich habe als ich die Zahlen in den Feldnamen sah auch spontan daran gedacht. War dann aber so faul und habe es unterlassen. Aber es rächt sich immer, es gibt immer jemand er es merkt.  ;D

@malram
Gemäß dem Einwand von ekkehard wäre das Datenmodell zu überdenken. Die Laufzeit der Stationen sollte in eine eigene Tabelle ausgelagert werden mit einem Fremdschlüssel zur jetzigen Tabelle. Dann wäre es nur eine gruppierte Abfrage.
Es hätte auch den Vorteil, dass die Anzahl der Stationen keine Rolle mehr spielt.
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: malram am Oktober 20, 2016, 13:34:54
Vielen Dank für Eure Hilfe, werde so glaube ich, das ganze Modell nochmal komplett überdenken.
Titel: Re: Zeitberechnung mit Zeitstrafe
Beitrag von: Beaker s.a. am Oktober 20, 2016, 20:00:34
Hallo,
@malram
Ja, mach mal, du wirst es dir später danken.

@Klaus
Danke für Bestätigung.

gruss ekkehard