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: 1
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.

RobertG
Beiträge: 1938
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

Antworten