Base berechnungen im Formular

Hallo

  Ich habe ein Base Tabelle und ein Formular mit 3 Feldern Anfangszeit,
Endzeit, Dauer
Ich möchte im Formular das ich als Tabelle dargestellt habe, Anfangs und
Endzeit eingeben und dann soll automatisch die Dauer erscheinen.
Wie mache ich das. Wo muss ich die Berechnung angeben.

Grüße Siegfried

Wenn die Anfangszeit in Spalte A, die Endzeit in Spalte B und die Dauer
in Spalte C steht, gibst Du in z. B. C1 folgende Formel ein:

=WENN(B1="";"";B1-A1)

Diese Zelle (die *ganze* Zelle, nicht nur den *Inhalt*) kopierst Du dann
in die Zeilen darunter, soweit Du es brauchst.

BTW1, oft braucht man auch eine Möglichkeit, die Mittagspause ein zu
geben; dann wäre die Formel eben in Spalte E und lautet:

=WENN(B1="";"";B1-A1-WENN(D1="";0;D1-C1))

BTW2: Die Spalte C bzw. E solltest Du als "[HH]:MM" (ohne die Hochkomma)
formatieren, damit Du ggf. auch Werte größer 24 Stunden als solche
angezeigt bekommen kannst.

Wolfgang

Hallo Siegfried,

Ich habe ein Base Tabelle und ein Formular mit 3 Feldern
Anfangszeit, Endzeit, Dauer Ich möchte im Formular das ich als
Tabelle dargestellt habe, Anfangs und Endzeit eingeben und dann
soll automatisch die Dauer erscheinen.

Du hast ein Tabellenkontrollfeld. Wähle als Grundlage für das Formular
eine Abfrage. In der Abfrage muss auf jeden Fall der Primärschlüssel
für die Zeittabelle enthalten sein, da Du sonst keine Daten eingeben
kannst.
SELECT "Tabelle".*, DATEDIFF('mi',"Anfangszeit","Endzeit") AS "Dauer"
FROM "Tabelle"

Damit bekommst Du die Zeitdifferenz in Minuten von der Anfangszeit zur
Endzeit ausgegeben.

Im Handbuch Base → Abfrage → Rechenfehler in Abfragen
steht dazu ein entsprechendes Beispiel, wie die Zeit auch als Zeit
formatierbar dargestellt werden kann.

Das funktioniert alles aber nur nach der Eingabe der Daten und dem
Abspeichern des Datensatzes. Deswegen ist die Lösung nur für
Tabellenkontrollfelder sinnvoll.

Willst Du die Differenz direkt nach Eingabe des zweiten Zeitwertes
unabhängig vom Abspeichern angezeigt bekommen, so musst Du den etwas
steinigeren Weg über Makros gehen.

Gruß

Robert

Ups, sorry, ich war in Calc, nicht in Base.

Wolfgang