Hi All,
I’ve been working on a form in my LibreOffice Base (version 6.1.5.2) running on Debian 10. My .odb file is connected to a MySQL server where my database has 3 tables: Students, Patrons, and Donations.
TL;DR version:
Is there a way disable the “autosave new record” when a form loses it’s focus?
Full Version of question:
The Patrons table has a foreign key contraint from the Students table
The Donations table has a foreign key contraint from the Students table and one from the Patrons table.
The .ODF form I’m working on has 3 actual forms all connected at the top level (as seen in “Form Navigator”) . In other words, none of the 3 forms in my .ODF form are subforms of the other 2.
The reason for this is that I want this .ODF form to be used for entering “New Data Only”. However, new records going into the “Donations” table need to be linked to records in the Patrons (and sometimes) Students tables. If I make the Donations table a subform of Patrons (or Students) in a form intended for new data only, I have to create a new Patron (or Student) even if one already exists.
Having all 3 forms on the same level (i.e. no sub-forms) of the .ODF allows the user to enter new Donations and add new Patrons or Students WHEN NECESSARY without opening a separate form.
This seems to be working all well and good… except for when data is placed into the Donations form and the focus is moved to another form to add a new student or patron before the Donation entry is completed. Whenever the focus leaves the Donations form and goes to one of the other 2, LibreOffice Base saves (or tries to save) whatever info was placed into the Donations form as a new record. Making matters worse, the only way that Base will allow the focus to change forms is by saving new donation record in to the database (incomplete as it may be) , or by clearing the partially complete Donations form (so that the controls set to “input required” stop complaining).
So the question is: Is there a way disable the “autosave new record” when a form loses it’s focus?