Hallo Uwe

Am Dienstag, den 24.07.2007, 12:54 +0200 schrieb Uwe Altmann:
> Michael Reichow schrieb:
> > Hallo @all
> > 
> > An die Datenbankspezialisten:
> > Gibt es eine Funktion mit der man Uhrzeiten über die Tagesgrenze direkt
> > addieren kann?
> > Bislang benötige ich zwei Abfragen zur korrekten Darstellung.
> > 
> > Zum konkreten Fall:
> > Ich habe eine HSQLDB mit mehreren Tabellen erstellt. Eine Tabelle
> > dient zur Erfassung von Arbeitsstunden. Arbeitsbeginn und -ende
> > werden aus Stundenzetteln übernommen.
> > Probleme treten immer dann auf, wenn die Arbeitszeit über 00:00 des
> > folgenden Tages hinaus geht.
> > 
> > Beipiel:
> > Mitarbeiter 140-10002
> > Tag1 von 07:30 bis 23:30 (ergibt 16 Std)
> > Tag2 von 08:30 bis 20:30 (ergibt 12 Std)
> > Tag3 von 08:30 bis 00:15 (ergibt 15,75 Std)
> 
> Eben nicht: nur 01.08.2007 8:30 bis 02.08.2007 00:15 würde 15,75 Std.
> ergenen. Die Datums-Information fehlt dem Rechenknecht ja aber.
> 
Vom Prinzip her hast du recht, nur darum geht es bei dieser Datenbank
nicht. Hier sollen die angefangenen Stunden des folgenden Tages
zwecks Überstundenberechnung dem vorherigen Tag hinzuaddiert werden.

> Also entweder, du addierst 24 zu jeder "bis"-Spalte, die kleiner als die
> zugehörige "von" Spalte ist, und bildest dann erst die Differenz (setzt
> voraus, dass keiner 24 Stunden oder länger arbeitet - ist also
> schlechter Programmierstil). Das ist so ungefähr das, was Du gerade machst.

Kritik heisst auch Lösungsansätze liefern,
die bleibst du leider schuldig. :-(

> 
> Oder Du verwendest nicht ein reines Zeit-, sonder ein Datums+Zeitformat
> für die Datenspalte. Dass nur eine Uhrzeit angezeigt wird, kannst Du ja
> auch über ein Display-Format oder so steuern.

Mit Sicherheit ist diese Wahl der bessere Lösungsansatz.
Hierbei wird jedoch die Eingabemaske zum Problem.
Um dem Anwender eine einfache Eingabe zu ermöglichen, habe ich mich
bewusst auf die Zeitangabe beschränkt.
Als Altenative müsste der Anwender die komplette Datum- und Zeitformat
eingeben. Für den Einsatzzweck ist es aber nicht nötig.

Außerdem bekomme ich für meine Arbeit keine Dollar-Milliarden,
da darf man schon mal im schlechten Stil "programmieren". ;-)

Gruß
Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an