Automatisches Speichern verhindern
Moderator: Moderatoren
Automatisches Speichern verhindern
Ich möchte in einem Formular (oder Unterformular) verhindern, dass Änderungen eines Datensatzes automatisch in die Datenbank-Tabelle übernommen werden, also weder beim Wechseln eines Datensatzes noch beim Verlassen des letzten Kontrollfeldes. Vielmehr soll das Speichern durch einen Button ausgelöst werden. (Zweck: Abschließende Eingabeprüfungen sollen gezielt durchgeführt werden, und zwar bei einem einzigen Ereignis - "Aktion ausführen" - und nicht von mehreren möglichen Stellen aus.) Genügt dafür die Einstellung Formular > Eigenschaften > Daten > Daten ändern, oder hat das unpassende Nebenwirkungen? Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Automatisches Speichern verhindern
Hallo Jürgen,
wenn Du "Daten ändern" auf "Nein" schaltetst, dann kannst Du auch keine Eingaben machen.
Ich habe mir an anderer Stelle damit geholfen, dass ich auf die Navigationsmöglichkeiten von Base verzichtet habe, die Navigation stattdessen über ein Listenfeld erledigte und die Abspeicherung imm in einer temporären Tabelle gemacht habe. Den Inhalt habe ich anschließend für die weitere Eingabe auseinandergepflückt.
Gruß
Robert
wenn Du "Daten ändern" auf "Nein" schaltetst, dann kannst Du auch keine Eingaben machen.
Ich habe mir an anderer Stelle damit geholfen, dass ich auf die Navigationsmöglichkeiten von Base verzichtet habe, die Navigation stattdessen über ein Listenfeld erledigte und die Abspeicherung imm in einer temporären Tabelle gemacht habe. Den Inhalt habe ich anschließend für die weitere Eingabe auseinandergepflückt.
Gruß
Robert
Re: Automatisches Speichern verhindern
Hallo Robert, es funktioniert in der Tat nicht. Allerdings verzweifle ich aus einem anderen Grund: Wenn ich während der Eingabe eines neuen Datensatzes mit Alt-Tab in ein anderes Fenster wechsle, um Namen oder Anschriften-Teile per Copy&Paste zu holen, dann interpretiert OO das Zurückwechseln als Datensatzwechsel und will einen unvollständigen Datensatz speichern. Das führt zu Fehlern, weil verschiedene Felder mit Inhalt versehen werden müssen (NOT NULL). Beim dritten derartigen Versuch verabschiedet sich OO. Zum Glück ist die Wiederherstellung offensichtlich zuverlässig, sodass ich noch keinen Datenverlust erlitten habe; aber es ist doch äußerst lästig. Nun ja... Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Automatisches Speichern verhindern
[quote="juetho"]Ich möchte in einem Formular (oder Unterformular) verhindern, dass Änderungen eines Datensatzes automatisch in die Datenbank-Tabelle übernommen werden, also weder beim Wechseln eines Datensatzes noch beim Verlassen des letzten Kontrollfeldes. Vielmehr soll das Speichern durch einen Button ausgelöst werden. (Zweck: Abschließende Eingabeprüfungen sollen gezielt durchgeführt werden, und zwar bei einem einzigen Ereignis - "Aktion ausführen" - und nicht von mehreren möglichen Stellen aus.) Genügt dafür die Einstellung [i]Formular > Eigenschaften > Daten > Daten ändern[/i], oder hat das unpassende Nebenwirkungen? Gruß Jürgen[/quote]
Moin Jürgen
Du stellst die Frage nach dem expliziten Commit, welches die Entwickler von OOO/LO leider nicht wollten,
in der zugrundeliegenden HSQL-DB wäre das lösbar.
Die Teil-Lösung:
Wenn Du im Formular ein Kontroll-Feld-selektierst und im Kontext-Menü bei den Formular-Eigenschaften auf den Reiter "DATEN" klickst, findest Du am Ende den Eintrag "Zyklus", den Du auf "Datensatz" oder auf "Seite" einstellen solltest. Das hilft ein bißchen, weil damit die Enter-Taste insoweit deaktiviert ist, als der Cursor nun von Feld zu Feld springt. Aber leider speichern alle Navigations-Tasten (zB TAB im letzen Feld) trotzdem. Immerhin besser als nichts.
m.
Moin Jürgen
Du stellst die Frage nach dem expliziten Commit, welches die Entwickler von OOO/LO leider nicht wollten,
in der zugrundeliegenden HSQL-DB wäre das lösbar.
Die Teil-Lösung:
Wenn Du im Formular ein Kontroll-Feld-selektierst und im Kontext-Menü bei den Formular-Eigenschaften auf den Reiter "DATEN" klickst, findest Du am Ende den Eintrag "Zyklus", den Du auf "Datensatz" oder auf "Seite" einstellen solltest. Das hilft ein bißchen, weil damit die Enter-Taste insoweit deaktiviert ist, als der Cursor nun von Feld zu Feld springt. Aber leider speichern alle Navigations-Tasten (zB TAB im letzen Feld) trotzdem. Immerhin besser als nichts.
m.