Formular schließen ohne Nachfrage

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Theophilus
Beiträge: 92
Registriert: Di 27. Sep 2011, 12:30

Formular schließen ohne Nachfrage

Beitrag von Theophilus » Do 25. Apr 2019, 12:48

Hi, ich möchte ein Formular per Makro schließen, ohne dass eine Nachfrage wg speichern kommt. Ich krieg es nicht hin ...
Das Formular enthält ein Unterformular.

Code: Alles auswählen


objDoc=ThisComponent
objForm=objDoc.drawpage.forms(0)
objsubForm = objForm.getByName("subForm1")
...
objForm.IsModified = false
objsubForm.IsModified = false
ThisDatabaseDocument.FormDocuments.getByName("frm_Einnahme_buchen").close
führt zur Nachfrage. Wo ist mein Denkfehler?
Herzliche Grüße aus dem Hohen Norden!

LO 6.0.6.2 unter Xubuntu 18.04

F3K Total
Beiträge: 1881
Registriert: So 10. Apr 2011, 10:10

Re: Formular schließen ohne Nachfrage

Beitrag von F3K Total » Do 25. Apr 2019, 18:37

Hi,
man muss erst den aktuellen Datensatz, wenn er neu ist, mit oForm.insertRow, wenn er geändert wurde mit oForm.updateRow speichern.
Gruß R

Theophilus
Beiträge: 92
Registriert: Di 27. Sep 2011, 12:30

Re: Formular schließen ohne Nachfrage

Beitrag von Theophilus » Fr 26. Apr 2019, 11:06

Hmm,
objForm.updateRow führt ebenso wie objForm.insertRow zur Fehlermeldung "Fehler in der Funktionsfolge.."
Wenn ich bei der Nachfrage "speichern?" auf Ja klicke, kommt "Failed to refetch row"
Ich stehe gerade etwas auf dem Schlauch.
Das Formular ist an eine temporäre Tabelle gebunden. Da die Werte aus den Feldern per Makro ausgelesen und direkt in die Zieltabelle geschrieben werden, ist es egal, ob in der temporären Tabelle etwas ankommt.
Nur die Nachfrage ist blöd für den Anwender. Er soll einfach auf "buchen" klicken können und dann soll sich das Formular ohne Nachfrage schließen ...
Herzliche Grüße aus dem Hohen Norden!

LO 6.0.6.2 unter Xubuntu 18.04

F3K Total
Beiträge: 1881
Registriert: So 10. Apr 2011, 10:10

Re: Formular schließen ohne Nachfrage

Beitrag von F3K Total » Fr 26. Apr 2019, 15:50

Tja,
keine Ahnung was du da machst, aber, ohne dass die aktiven Datensätze gespeichert wurden geht das eben nicht. Du findest bestimmt in den einschlägigen Foren
viewforum.php?f=12
http://de.openoffice.info/viewforum.php?f=18
https://www.openoffice-forum.de/viewforum.php?f=21
https://forum.openoffice.org/en/forum/v ... m.php?f=20
Beispielmakros... wenn du nach

Code: Alles auswählen

.insertRow
.updateRow 
suchst.
Gruß R

Theophilus
Beiträge: 92
Registriert: Di 27. Sep 2011, 12:30

Re: Formular schließen ohne Nachfrage

Beitrag von Theophilus » Sa 27. Apr 2019, 09:38

wenn ich manuell auswählen kann ob ich speichern möchte oder das Formular ohne speichern schließen will, müsste das doch eigentlich auch per Makro gehen, oder?
Herzliche Grüße aus dem Hohen Norden!

LO 6.0.6.2 unter Xubuntu 18.04

F3K Total
Beiträge: 1881
Registriert: So 10. Apr 2011, 10:10

Re: Formular schließen ohne Nachfrage

Beitrag von F3K Total » Sa 27. Apr 2019, 15:18

Wenn du keinen Rat annehmen willst, dann musst du selbst eine Lösung finden.
Meine Erfahrung ist, sobald ein Formular, das an eine Datenbank gebunden ist, eine ungespeicherten Datensatz enthält, fragt LO nach ob gespeichert werden soll.
Gruß R

RobertG
Beiträge: 1948
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formular schließen ohne Nachfrage

Beitrag von RobertG » Sa 27. Apr 2019, 18:39

Geht nicht eventuell die Möglichkeit, den vorhandenen Eintrag einfach wieder zu entfernen (mit cancelRowUpdates)?

Wenn das ganze ein Subformular hat, dann muss doch der Inhalt des Hauptformular bereits gespeichert sein - sonst ist doch gar kein Eintrag ins Subformular möglich, oder?

Gruß

Robert
http://de.libreoffice.org/hilfe/dokumentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/map_3/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Antworten