Seite 1 von 1

Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 18:10
von adh
Hallo Experten,

habe mich gerade in die Formulare und Makros reingefummelt und "fast" alles hinbekommen.
Auf Basis eines Beispiels habe ich die anliegende Anwendung zur Zeiterfassung gebaut.
Funktioniert alles wie es soll (den direkten Start werde ich auch noch anhand der tollen Beispiele hier im Forum hinbekommen)
Nur die "KOMMT"-Erfassung funktioniert nicht, wie sie soll:
- es wird zwar das aktuelle Datum und Uhrzeit angeboten aber ich kriegs nicht hin, dass das Speichern des Datensatzes durch den Button erfolgt (der tut nämlich rein NICHTS)
- sondern es wird ein neuer Datensatz gespeichert, sobald ich einmal Datum oder Uhrzeit bearbeitet habe (Mausklick reicht) und z.B. den MA wechsele

Was mache ich hier noch falsch ?

Danke Euch

Andreas

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 19:16
von RobertG
Hallo Andreas,

was funktioniert nicht? Ich öffne das Formular, sehe dort neben "Tag" und "Zeit" den Button "Speichern", drücke darauf und erhalte eine Speicherung in dem darunter liegenden Tabellenkontrollfeld angezeigt.
Mit welcher Office-Version/Base-Version arbeitest Du? Wenn ich mir die Makros ansehe, dann sind das Makros, die das Datum und die Uhrzeit nach der Codeänderung von LO Version 4.1.1 schreiben. Dort ist das Datum als UnoStruct("com.sun.star.util.Date") beschrieben. Das zeigt bei mir z.B. in LO 3.3.4 überhaupt keine Zeit und kein Datum an und reagiert natürlich auch entsprechend nicht auf den Speicherbutton. In LO 4.1.4.2 funktioniert das Ganze.
Was mich stören würde ist die Nachfrage, die da kommt - ich habe jetzt nicht nachgesehen, warum die kommt: "Soll der Inhalt des aktuellen Formulars gespeichert werden". Außerdem wird die Zeit aus einem Feld gelesen und in ein anderes übertragen. Ich würde sie beim Drücken des Speicherbuttons schreiben - sonst speicherst Du nicht die aktuelle Zeit, sondern die, bei der das Formular auf den namen eingestellt wurde.

Gruß

Robert

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 21:36
von RobertG
Hallo Andreas,

die Ursache liegt woanders. Ich habe das gerade einmal mit AOO getestet. Die Reihenfolge der Befehle ist hier wohl wichtig. Der Button liegt ein Formular höher und aktualisiert das Formular. Du musst aber erst den Wert abspeichern. Wenn danach das Formular für die neuen Werte aktualisiert wird, dann wird auch der neue Wert angezeigt.

Gruß

Robert

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 21:49
von adh
klingt gut ... aber wie kann ich das ändern .... ?

Danke Dir

Andreas

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 21:58
von RobertG
Hallo Andreas,

da haben wir uns gerade überschnitten. Ich habe das einmal so eingebaut, dass es funktioniert. Bei LO kam ja auch die Meldung, ob die Daten denn gespeichert werden sollten. bei AOO kam überhaupt keine Nachfrage. Den Button habe ich die Aktualisierung genommen und anschließend zuerst das Abspeichern und dann das Aktualisieren des Unterformulars zugewiesen.

Gruß

Robert

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 22:20
von adh
sorry - ich kann zwar SQL und Pivot-Tabellen aber bei den Formularen bin ich Newbie - wie macht man das ??

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 22:23
von adh
au wei ... man sollte schon nachschauen, ob die Beiträge ein attachment haben - danke

ein kleiner hässlicher Effekt ist aber noch da ... ich wähle eine MA aus - klicke nur mal in Zeit oder Datum rein und wechsele dann den MA - trotzdem wird ein neuer datensatz für den vorherigen MA angelegt ....

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 22:29
von RobertG
Hallo Andreas,

das Abspeichern hat seinen Sinn. Du lässt ja Werte für das Abspeichern vorbereiten. Verlässt Du mit der Maus das Formular, so geht Base davon aus, dass es etwas abspeichern muss. Das hat nichts mehr mit dem Button zu tun. Müsste auch bei der vorhergehenden Version so sein.

Jetzt wird es mir etwas spät. Ich kann mir das Morgen noch einmal ansehen.

Gruß

Robert

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Fr, 07.02.2014 23:14
von adh
grazie mille

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Sa, 08.02.2014 12:52
von RobertG
Hallo adh,

der Umgang mit den Datums- und Zeitvariablen ist in allen Base-Versionen bis zur Version LO 4.1.1 ein ziemliches Gefruckele. Der Code sieht also jetzt völlig anders aus, da ich folgendes gemacht habe:
Ich habe die Felder, die Deine Vorauswahl darstellen sollen, völlig vom Formular getrennt. Sie haben keine Beziehung mehr zu der darunterliegenden Abfrage. Der Datums- und Zeitwert wird in diese Felder geschrieben. Änderungen können vorgenommen werden. Wird nicht auf den Speicherbutton gedrückt, so tut sich nichts. Erst beim Speichern werden die Werte in die (versteckten) Felder geschrieben, die ich einfach durch Kopieren und Einfügen aus den vorherigen Feldern erstellt habe. Diese Felder sind mit dem zugrundeliegenden Formular verbunden.
Das hin- und herschreiben läuft unter LO 4.1.1 und folgenden völlig problemlos, da immer mit dem date-struct gearbeitet wird. Versionen davor brauchen die Umwandlung in ISO-Formate. Die anhängende Version funktioniert jetzt also nicht mit LO 4.1.1 (damit habe ich es zuerst zusammengebaut), auf jeden Fall aber mit AOO 4.

Gruß

Robert

Re: Zeiterfassung - noch ein kleines Problem

Verfasst: Sa, 08.02.2014 16:33
von adh
sehr cool - vielen Dank ...

Andreas