Seite 1 von 1

Subform speichern beim Datensatzwechsel

Verfasst: Mi, 12.02.2014 12:26
von Aname
Hallo,
ich suche nach einer möglichst einfachen Lösung für folgendes Problem:

Es existiert ein Formular mit Unterformularen. Die Nutzer tragen die Datensätze teilweise recht unsystematisch ein, d.h. sie springen zwischen Datensätzen. Dabei ist das Problem aufgetreten, dass wenn Eintragungen in ein Subform vorgenommen werden und dann direkt im Mainform der Datensatz gewechselt wird (per Maus über Leiste oder Suchfeld), die Änderung im Subform nicht automatisch abgespeichert wird. Wie kann ich ein automatisches Speichern aller Eintragungen einbauen, sobald der Datensatz gewechselt wird?

Meine bisherige Idee ist, dass ich der Aktion "Datensatz wechseln" ein Makro zuweise, da ich aber meine bisherigen Makros alle nur zusammenkopiert habe und von Basic eigentlich keine Ahnung habe, weiß ich nicht, wie so ein Makro aussehen muss. Ich hab leider auch nichts Passendes mit Googles Hilfe gefunden.

Sorry, wenn die Frage doof oder unverständlich ist, aber ich wäre für Hilfe wirklich sehr dankbar.
Aname

Re: Subform speichern beim Datensatzwechsel

Verfasst: Mi, 12.02.2014 15:45
von RobertG
Hallo Aname,

die Speicherung macht Base eigentlich automatisch. Ich schreibe in ein Subform, drücke nicht auf "Speichern" klicke irgendwo auf den Hintergrund oder in ein anderes auf dem Blatt liegendes Formular. Die Eingabe wird gespeichert, bevor irgendeine andere Aktion kommt. Ich habe das gerade auch mit einem Wechsel des Datensatzes im Hauptformular ausprobiert.

Wenn das bei Euch nicht klappt, dann fehlt es hier an Informationen. Mit welcher Office-Version arbeitet ihr? Wie ist das Formular aufgebaut (Hauptformular, Nebenformulare, Unterformulare ...).

Gruß

Robert

Re: Subform speichern beim Datensatzwechsel

Verfasst: Mi, 12.02.2014 19:58
von Aname
Hallo Robert,

erstmal vielen Dank für die Antwort.
Ich arbeite mit LibreOffice 3.3, habe aber auch schon ein neueres (ich glaube 4.0) ausprobiert.
Das Klicken auf den Hintergrund führt auch bei mir zum automatischen Speichern. Wenn ich allerdings über die Navigationsleiste des Hauptformulars den Datensatz wechsle, werden bei mir Änderungen in den Subformularen nicht automatisch gespeichert (nur Änderungen im Hauptformular), z.B. wenn ich über den Scrollbar nach oben direkt aus dem Subformfeld auf die Hauptform Navileiste zugreife. Ich habe ein Hauptformular mit Navileiste und Namenssuchfeld (das ermöglicht die Datensätze zu filtern), dann ein paar Infos im Hauptformular (Name etc), und darunter mehrere Subformulare (ca. 10) mit verschiedenen Inhalten. Wenn dir das hilft, kann ich dir eine leere Version der Datenbank hochladen.

Grüße
Aname

Re: Subform speichern beim Datensatzwechsel

Verfasst: Mi, 12.02.2014 22:02
von RobertG
Hallo Aname,

Besser ist so etwas mit ein paar Dummydaten.

Ich habe hier die verschiedensten Office-Versionen. Den Test habe ich vorhin wohl mit der aktuellen LO 4.1.5.3 gemacht - kann auch die 4.2.0.4 gewesen sein. Vom Prinzip dürfte da aber kein Unterschied liegen. Ich kann das auch gerne mit der 3.3 testen und dann einmal sehen, ob das "Fehlverhalten" (als solches würde ich das bezeichnen) auch bei mir auftaucht.

Gruß

Robert

Re: Subform speichern beim Datensatzwechsel

Verfasst: Do, 13.02.2014 15:52
von Aname
Hallo Robert,

vielen Dank für deine Versuche, das Problem zu verstehen.
Da die Datenbank selbst in ganz reduziert noch zu groß zum anhängen ist, hier ein Dropboxlink zu ihr:
https://www.dropbox.com/s/fgpt9j85bedki ... _klein.odb

Da sind zwei Dummyfällen drin, mehr ist bei mir nicht nötig, um den "Fehler" zu produzieren. Wenn ich das Datenblatt öffne, dann den Datensatz 1 auswähle, in das Subform Kinder ein Alter eintrage und ein Geschlecht auswähle und danach direkt über die Navigationsleiste zu Datensatz 2 springe ist das Kind, wenn ich wieder zu Datensatz 1 zurückkehre verschwunden. Wichtig ist, dass ich zwischendurch nicht aus Versehen irgendwo hinklicke.

Ich hoffe, du kannst das reproduzieren.

Grüße
Aname

Re: Subform speichern beim Datensatzwechsel

Verfasst: Do, 13.02.2014 17:00
von RobertG
Hallo Aname,

das Verhalten kann ich bestätigen - bis zur Version LO 4.0.3.3 ist der Datensatz anschließend nicht gespeichert. Ab der Version LO 4.0.5.2 funktioniert das Speichern - auch wenn Du das Unterformular verlässt. Ich habe das dann noch in den Anfangsversionen von LO 4.1 und in der jetzigen 4.1.5.3 getestet. Auch dort funktioniert es einwandfrei. Ich kann mich zwar nicht daran erinnern, dass da irgendjemand einen Bug gemeldet hatte, so dass das bearbeitet wurde - aber es ist in der aktuellen Version weg.
Hinzu kommt noch, dass seit den letzten 3er-Versionen die Datenbanken beim Speichern automatisch bereinigt wurden - das, was sonst über SQL mit "SHUTDOWN COMPACT" geht. Deine DB hatte bei mir nach dem ersten Test nur noch 16,4 kB, da Du vorher wohl viele Datensätze raus genommen hattest, die aber immer noch irgendwo abgelagert waren. Deshalb besser die Downloadversion jetzt löschen.

Ich würde einfach zu der aktuellen LO 4.1.5.3 wechseln. AOO 4.0.0 (die 4.0.1 habe ich hier nicht - muss ich mir wohl einmal besorgen) macht übrigens auch den Fehler wie die 3-er-Reihe von LO. Da kannst Du also in diesem Fall nicht nach einer Alternative suchen.

Gruß

Robert

Re: Subform speichern beim Datensatzwechsel

Verfasst: Do, 13.02.2014 21:36
von Aname
Hallo Robert,

super, mit LO 4.1.5 funktionierts.
Vielen vielen Dank für deine Hilfe!!!

Grüße
Aname