Berechnete Felder aus einem Formular werden nicht im DS gespeichert

Kortega

Benutzer
Beiträge
5
Hallo zusammen,
ich bin gerade am verzweifeln. Folgendes : ich habe eine simple Tabelle mit Schichtbeginn und Schichtende sowie GesamtZeit. Alle mit Format Zeit24h. Im Formular werden Schichtbeginn und Schichtende per Hand ausgefüllt. Die Gesamtzeit wird automatisch mit =[Schichtende]-[Schichtbeginn]errechnet.
Das klappt auch super mit dem passenden Format.
Leider werden die errechneten Differenzzeiten aus dem Formular nicht im Datensatz der Tabelle gespeichert.
Ich hoffe, ich hab mich verständlich ausgedrückt und :) hat vielleicht jemand ne Lösung ??
Danke schonmal....
 
Werbung:
Es geht dabei um ein Stundenkonto. Die errechnete zeit ist die Arbeitszeit. aus einer Tabelle heraus ist das einfach übersichtlicher und einfacher zu addieren. Visuell sollin einer Abfrage der beginn, das ende und die arbeitszeit pro tag aufgelistet werden. das ganze würde ich summieren und hätte ein ergebnis fü einen monat.
Hast du vielleicht eine andere lösung für mich??
 
Berechnete Werte gehören nicht in Tabellen, sondern werden immer zu dem Zeitpunkt neu gerechnet und angezeigt, wenn man sie braucht.
Erstelle entsprechende Abfragen.
 
OK. Du wirst ja recht haben. Werd ich dann wohl so lösen.
Aber... geht das denn überhaupt irgendwie, ein errechnetes Feld in eine Tabelle zu speichern??
M0it Anfügeabfrage oder sowas???
Dank Dir schonmal für die schnelle und zufriedenstellende Antwort.
 
Klar geht das, macht aber in den meisten Fällen keinen Sinn, weil, wenn sich ein atomares Feld ändert stimmen alle nachgelagerten, berechneten Felder nicht mehr und müssen wieder überprüft werden.
Vorschlag:
Erstelle eine Tabelle nur mit Start und Ende Zeiten (24Std Format)
Erstelle darauf eine Abfrage mit den Feldern und einer neuen Spalte "Differenz: [Ende]-[Start]"
Auf diese Abfrage baust du eine weitere Abfrage nur mit dem Feld "Differenz." Dort dann die Summenfunktion einschalten (Reiter Entwurf/Summenzeichen).
Zeiträume und Mitarbeiter kannst Du unter Kriterien filtern.
Abfragen sind das Mittel der Wahl um auszuwerten.
 
@andyfau
hab das so wie du es geschrieben hast gemacht. Alles gut..... Bis auf das Format.
Das neue Feld in der Abfrage zeigt mir zwar den richtigen Wert an, aber im falschen Format.
Ich hätte es gerne im Format Zeit24h angezeigt. Aktuell ist es : 8,33333333333334E-02
Ich bekomme das allerdings nicht hin...
Wie geht das ???
 
ich nochmal,,
habs jetzt hingekriegt. in der Abfrage - Format hat mir das Drop-Down Men
ü kein Zeitformat angezeigt. Hab das jetzt manuell eingetragen "Zeit, 24Std" und siehe da, das klappt so wie ich es möchte.
Die Kriterien mach ich dann auch fertig.
Nochmal Danke schön für Deine Hilfe.

@akretschmer ---- was meinst Du mit VIEW ???
 
Eine View ist eine sich oft wiederholende Abfrage, welche immer die aktuellen Daten (falls aus Datenbank abgefragt) zurückgibt, hier ein schnelles Beispiel:
Code:
create view null_bis_neun as
select 0 as ziffer union select 1 union select 2 union select 3 union select 4 union select 5
union select 6 union select 7 union select 8 union select 9;
select ziffer from null_bis_neun;

explizit muss man für einen select dann nurnoch:
Code:
select ziffer from null_bis_neun;

ins Terminal schreiben, damit die entsprechenden Werte geliefert werden. (Ziffern 0 bis 9)
das ist ein nettes Feature, falls man oft immer ähnliche Werte braucht, ...

Ich möchte alles anzeigen, was derzeit auf Lager ist, die Abfrage führe ich evtl. 2-3 mal wöchentlich durch, nachdem sie sich oft wiederholt, kann man das einfach in einer View ablagern.

EDIT:
Schöneres Beispiel (glaube ich)
Code:
create table konto(betrag numeric);
insert into konto(betrag) values ('10');
create view kontostand as select sum(betrag) from konto;
select * from kontostand;
10 wird ausgegeben
Code:
insert into konto(betrag) values ('10');
select * from kontostand;
20 wird ausgegeben
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben