Den gefundenen Datensatz möchte ich in einem anderen Formular öffnen.
Dazu soll ein Filter gesetzt werden, oder aber eine SQL-Abfrage angewendet werden.
Mit Filter öffnen habe ich Makros gefunden, die aber nur dann laufen, wenn ich sie von dem (neuen) Formular selbst aufrufe.
ich habe folgendes versucht:
Code: Alles auswählen
Sub Formular_aufrufen(sRName as String)
dim sFormularName as string, oContext as Object, oDatenbank as Object
DIM oVerb as Object, i as Integer
dim arg(1) as New com.sun.star.beans.PropertyValue
dim aFormulare(), oDoc as Object, oForm as Object
sFormularName = "Rezept"
aFormulare = StarDesktop.CurrentComponent.getParent.getFormDocuments().getElementNames()
for i = lBound(aFormulare) to uBound(aFormulare)
if aFormulare(i) = sFormularName then
oContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDatenbank = oContext.getByName(StarDesktop.CurrentComponent.getParent.getLocation())
oVerb = oDatenbank.getConnection("","")
arg(0).Name = "OpenMode"
arg(0).Value = "open"
arg(1).Name = "ActiveConnection"
arg(1).Value = oVerb
oForm = StarDesktop.CurrentComponent.getParent.getFormDocuments().loadComponentFromURL(aFormulare(i), "", 0, Arg())
REM oForm => Formular 'Rezept'
FilterSetz(oForm, sRName)
Exit Sub
end if
next
End Sub
Sub FilterSetz(oFormU as Object, sRezName as String)
DIM oDoc as Object
REM Setzt Filter auf Formular Suchanfrage!!
oDoc = ThisComponent
oFormU = oDoc.DrawPage.Forms(0)
oFormU.Filter = (" ""RezeptName"" = '" & sRezName & "'")
oFormU.ApplyFilter = True
oFormU.reload
End Sub
Kann mir da jemand weiterhelfen? Ich bin leider auf meiner Suche nicht fündig geworden.
Ich nutze OpenOffice 3.2.0 in Windows XP
Vielen Dank für Eure Hilfe.