Hallo,
ich habe schon wieder ein Problem.
Ich möchte aus einem Formular (form_Essensmarken)per Button mit Makro ein weiteres Formular (form_reservierungen) aufrufen. Das funktioniert auch soweit, das das Formular geöffnet wird.
Nun sollen aber beim Öffnen auch gleich die Daten der zugehärigen Tabelle angezeigt werden. Das habe ich nicht hinbekommen.
Hier das Makro
Sub OpenFormReservierungen ' Beispiel für manuellen Aufruf z.B. aus anderem Makro oder aus einem Dialog heraus
Dim args(1) As New com.sun.star.beans.PropertyValue
Dim container As Variant, oForm As Variant
Dim oDatenbankKontext As Object, oDatenquelle As Object
' FormularAusblenden
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "db_kantinenabrechnung" )
container = oDatenquelle.DatabaseDocument.FormDocuments
args(0).Name = "ActiveConnection"
args(0).Value = oCon ' oCon wird nur einmal geöffnet und ist Global definiert
args(1).Name = "OpenMode"
args(1).Value = "open"
oForm = container.loadComponentFromURL("form_reservierungen","_blank",0,args())
With oForm.getCurrentController().getFrame().getContainerWindow()
End With
End Sub
Was fehlt?
Gruß
dagmar
Formulars per Makro aus Formular aufrufen (gelöst)
Moderator: Moderatoren
Formulars per Makro aus Formular aufrufen (gelöst)
Zuletzt geändert von puzzledag am Mi, 17.06.2009 08:29, insgesamt 1-mal geändert.
Re: Formulars per Makro aus Formular aufrufen
Hallo Dagmar,
wo und wann belegst Du denn die Variable oCon?
Ich habe Dein Makro mal testweise in ein Testprogramm einbebaut und dort funktioniert es einwandfrei.
Voraussetzung: Beim Programmstart muß oCon als globale Variable mit der Connection gefüllt sein.
Wenn ich nur oCon definiere ohne eine Connection aufzubauen, erhalte ich das von Dir beschriebene Ergebnis....... ein leeres Formular.
Ich habe das SO gelöst (siehe unten) und um einer möglichen Frage zuvorzukommen:
Main wird einmalig aufgerufen, indem Du im Hauptformular das Ereignis "beim öffnen" dem Sub Main zuordnest.
Gruß eBayer
Sub Main
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "DeineDatenbank" )
oCon = oDatenquelle.getConnection( "" , "" ) ' muß oberhalb von Main, also außerhalb der Sub's als global definiert sein
End Sub
wo und wann belegst Du denn die Variable oCon?
Ich habe Dein Makro mal testweise in ein Testprogramm einbebaut und dort funktioniert es einwandfrei.
Voraussetzung: Beim Programmstart muß oCon als globale Variable mit der Connection gefüllt sein.
Wenn ich nur oCon definiere ohne eine Connection aufzubauen, erhalte ich das von Dir beschriebene Ergebnis....... ein leeres Formular.
Ich habe das SO gelöst (siehe unten) und um einer möglichen Frage zuvorzukommen:
Main wird einmalig aufgerufen, indem Du im Hauptformular das Ereignis "beim öffnen" dem Sub Main zuordnest.
Gruß eBayer
Sub Main
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "DeineDatenbank" )
oCon = oDatenquelle.getConnection( "" , "" ) ' muß oberhalb von Main, also außerhalb der Sub's als global definiert sein
End Sub
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Formulars per Makro aus Formular aufrufen
Danke,
hat einwandfrei funktioniert.
Gruß
dagmar
hat einwandfrei funktioniert.
Gruß
dagmar