❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Tabellenspalte über Macro bei Öffnen/Schließen des Formulars löschen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
jot-zet
Beiträge: 6
Registriert: Fr 14. Jul 2017, 14:30
Wohnort: Weimar (Th)

Tabellenspalte über Macro bei Öffnen/Schließen des Formulars löschen

Beitrag von jot-zet » Fr 20. Jul 2018, 23:06

Hallo, ich komme bei folgenden Problem nicht weiter...
in meiner Datenbank werden Datensätze an Writerdokumente zum Ausdruck übergeben. Dafür gibt es die Spalte "Marker", über welche sich bestimmen lässt, welche Datensätze. So weit so schön - diese Spalte muss natürlich regelmäßig gelehrt werden, damit nicht die falschen Datensätze übergeben werden. Auch dies habe ich nach Recherche über folgendes Macro geschafft:
Sub update_false(event)
oForm = event.source.model.parent
oConnection = oForm.activeconnection
SQL_Statement = oConnection.CreateStatement
sSQL = "UPDATE ""Eingang NAM"" SET ""Marker"" = FALSE"
SQL_Statement.executeUpdate(sSQL)
oForm.reload
end Sub
Das funktioniert über den Ereignissaufruf eines Buttons auch einwandfrei. Dies möchte ich jedoch automatisch beim Aufruf oder beenden eines Fomulars ausführen lassen. Dazu habe ich es versucht über das Ereigniss "Beim Laden" ausführen zu lassen. Jeder Versuch schlug jedoch fehl. Es kommt:
Objektvariable nicht belegt.
Leider reichen meine Kenntnisse nicht aus, um das Macro anzupassen. Hat jemand eine Idee?

Vielen Dank schon mal!
Jan

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Tabellenspalte über Macro bei Öffnen/Schließen des Formulars löschen

Beitrag von RobertG » Sa 21. Jul 2018, 08:38

Hallo Jan,

das Makro funktioniert über einen Button, weil Du von dem auslösenden Ereignis (Buttondruck) ausgehst:
oEvent.Source.Model gibt den Button wieder.
Davon das höhere Element parent gibt das Formular wieder.

Wenn Du jetzt das Makro an das Formular anbinden willst, dann landest Du mit parent im Nirgendwo.

Ich lasse mir bei Unklarheiten die zur Verfügung stehenden Möglichkeiten immer mit xray anzeigen.

Eine andere Möglichkeit ohne das Ereignis zu arbeiten ist das Formular direkt anzusteuern:

Code: Alles auswählen

oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm")
Hier hat das im Formularnavigator auf der höchsten Ebene liegende Formular den Namen "MainForm".

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten