Formulars per Makro aus Formular aufrufen (gelöst)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formulars per Makro aus Formular aufrufen (gelöst)

Re: Formulars per Makro aus Formular aufrufen

von puzzledag » Mi, 17.06.2009 08:28

Danke,


hat einwandfrei funktioniert.

Gruß

dagmar

Re: Formulars per Makro aus Formular aufrufen

von eBayer » Di, 16.06.2009 17:03

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

Formulars per Makro aus Formular aufrufen (gelöst)

von puzzledag » Di, 16.06.2009 14:27

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

Nach oben