BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Formular2 mit Datensatz aus Formular1 öffnen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Benutzeravatar
zwackel
Beiträge: 10
Registriert: Di 2. Apr 2019, 22:17

Formular2 mit Datensatz aus Formular1 öffnen

Beitrag von zwackel » Di 2. Apr 2019, 22:29

Ich möchte gerne über eine Schaltfläche (Formular 1: Hefte) einen bestimmten Datensatz, der in diesem Formular angezeigt wird in einem zweiten Formular (Formular 2: Heftdetails) öffnen. Im zweiten Formular sollen alle Datensätze aus dem ersten Formular angezeigt und direkt zu dem im ersten Formular aktuellen Datensatz springen.

Leider komme ich nur soweit, dass das zweite Formular sich mit dem ersten Datensatz öffnet.

Sub openForm_Heft_Row
DIM oFormHefte AS OBJECT
DIM oFormHeftdetails AS OBJECT

oFormHeftdetails = ThisDatabaseDocument.FormDocuments.getByName("Heftdetails").open
oFormHeftdetails.drawpage.forms.MainForm
End Sub

Kann mir hier jemand helfen.
Viele Grüße
Volker

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

Re: Formular2 mit Datensatz aus Formular1 öffnen

Beitrag von RobertG » Mi 3. Apr 2019, 16:52

Hallo zwackel,

Du könntest entweder mit einer Abfrage arbeiten und beim ersten Formular und Betätigung des Buttons zum Wechsel die ID des Datensatzes in eine Filtertabelle schreiben. Oder Du könntest die ID des betreffenden Datensatzes über den Formularfilter an das zweite Formular weitergeben.

Hier einmal stumpf die Kopie aus dem Handbuch mit dem Beispiel zum Filter direkt im Formular:
SUB FilterSetzen
DIM oDoc AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM stFilter As String
oForm = thisComponent.Drawpage.Forms.getByName("MainForm")
oFeld = oForm.getByName("Filter")
stFilter = oFeld.Text
oForm.filter = " UPPER(""Name"") LIKE '%'||'" + UCase(stFilter) + "'||'%'"
oForm.ApplyFilter = TRUE
oForm.reload()
End Sub
Hier geschieht das innerhalb eines Formulars. Du wirst allerdings aus dem ersten Formular den Filterwert aufrufen und an ein zweites Formular übergeben, also an Dein oFormHeftdetails.drawpage.forms.MainForm, nicht wie in dem obigen Beispiel einfach an oForm.

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 nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten