unten findet Ihr den relevanten Code.
Zur Situation:
Ich habe ein Formular, das mit der Tabelle Kunden verknüpft ist. Darin gibt es einen Button (per auslösen verknüpft mit cmdKundenadressenZeigen_Click()), der ein weiteres Formular öffnet, das mit der Tabelle Kundenadressen verknüpft ist.
Mein Problem:
Ich schaffe es nicht, dem neu geöffneten Formular Kundenadressen eine ID zu übergeben, so dass nur die Adressen zum aktuellen Datensatz übergeben werden. Meine Angaben zu command und commandType werden völlig ignoriert. Ich habe auch versucht, einen Filter zu setzen, dies wird aber auch ignoriert, es werden imm alle Datensätze von Kundenadressen angezeigt.
Hat irgendjemand einen Tipp für mich?
VG mormel
Code: Alles auswählen
Private Sub cmdKundenadressenZeigen_Click(oEvent as variant)
init
kundenId = oForm.getColumns.getByName("id").value
OpenForm(oEvent, "FKundenadressen")
oForm.CommandType = 2
oForm.Command = "SELECT * FROM ""TKundenadressen"" WHERE ""id""=" + kundenId
End Sub
Sub init
DBConnect
Set_oForm("Standard")
End Sub
Sub DBConnect
Dim DatabaseContext As Object
Dim DataSource As Object
Dim InteractionHandler as Object
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("datenbank")
If Not DataSource.IsPasswordRequired Then
Connection = DataSource.GetConnection("","")
Else
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
Connection = DataSource.ConnectWithCompletion(InteractionHandler)
End If
End Sub
Sub Set_oForm(Fname As String)
oDoc = ThisComponent
oForm = oDoc.drawpage.forms.getByIndex(0)
End Sub
Sub OpenForm(oEvent as variant, aFormName as string)
Dim args(3) As New com.sun.star.beans.PropertyValue
Dim container as variant
container = oEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments
args(0).Name = "ActiveConnection"
args(0).Value = oEvent.Source.Model.Parent.ActiveConnection
args(1).Name = "OpenMode"
args(1).Value = "open"
container.loadComponentFromURL(aFormName,"_blank",0,args())
End Sub