ich bin neu hier. Bin bis jetzt von OO Base begeistert. Auch in dem Forum findet man viele Makros und Tipps...
Ich bin jetzt nur an einem Punkt, wo ich einfach nicht mehr weiter Komme, und auch im Forum keinen Rat finde.
Folgender IST Zustand:
Ich habe eine Tabelle mit > 200 Spalten. Es gibt z.B. Spalten Für Kunde (Name, Adresse,...) und Gegner (Name, Adresse,...)+
Ich habe ein Formular, mit dem ich neue Kunden eintragen kann. Dieser bekommt dann eine ID in der Tabelle.
In einem weiteren Formular habe ich Eine kleine Auswahl von Splaten der Datenbank als Tabelle und 2 Knöpfe. Auch Textbox, die mir die ID des Datensatzes anzeigt habe ich.
Kunde anlegen, Gegner hinzufügen.
Das mit Kunden anlegen funktioniert (öffnet ein Formular, das nur neue Datensätze anlegen kann)
Code: Alles auswählen
Sub Mandanten_Anlegen_Form
ThisDatabaseDocument.FormDocuments.getByName( "Mandanten anlegen" ).open
End Sub
Dann wir auch ein Gegner angelegt, nur leider in einer neuen Zeile.
Daher die Frage...
Wie kann ich per Knopf an ein Formular die ID eines Datensatzes übergeben, um dann in dem Formular dort Daten hinzuzufügen?
Danke schon mal,
Code: Alles auswählen
sub Gegnerdaten_Form( oEvent as variant )
Dim oFeld as variant
Dim sID as variant
Dim oDoc as variant
Dim oForm as variant
Dim oDoc2 as variant
Dim oForm2 as variant
oDoc = StarDesktop.CurrentComponent
oForm = oDoc.DrawPage.Forms.GetByIndex(0)
REM die ID des ersten Formulars wird ausgelesen (ist z.B. wie hier ein Formularfeld)
oFeld = oForm.getByName("Textbox")
sID = oFeld.text
OpenForm(OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments,
_OEvent.Source.Model.Parent.ActiveConnection,
_"Gegnerdaten hinzu")
REM => dann Filter setzen
oDoc2= ThisComponent
oForm2 = oDoc2.DrawPage.Forms(0)
oForm2.filter = "Aktenzeichen = " + sID
REM =>setzen des Filters für das neue Formulardokument
oForm2.ApplyFilter=true
oForm2.reload
end sub