[Form] Formular öffnen, Grösse einstellen

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: [Form] Formular öffnen, Grösse einstellen

Re: [Form] Formular öffnen, Grösse einstellen

von chrisse111179 » Do, 16.10.2008 22:59

Hallo,

so funtioniert es bei mir ohne dass die Datenbank nochmal geöffnet wird:

Code: Alles auswählen

Sub NeuerKunde
' http://www.pitonyak.org/database/AndrewBase.odt
   Dim pProp(1) As New com.sun.star.beans.PropertyValue
   Dim dbContext As Object
   dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
   oDataSource = dbContext.GetByName("Arbeitszeiterfassung"
   oForms = oDataSource.DatabaseDocument.FormDocuments
   'oReps = oDoc.getReportDocuments()
   oAConnection = oDataSource.getConnection("","")
   'set properties
   pProp(0).Name = "ActiveConnection"
   pProp(0).Value = oAConnection
   pProp(1).Name = "OpenMode"
   pProp(1).Value = "open" ' OR: openDesign
   ' load the form: TargetFrameName and SearchFlags aren't used

   oFormulario = oForms.loadComponentFromURL("Neuer_Kunde","_blank",0,pProp())

' 2008-02-05
   With oFormulario.getCurrentController().getFrame().getContainerWindow()
      .setPosSize( .PosSize.x, .PosSize.y , 1024, 600 , com.sun.star.awt.PosSize.SIZE )
   End With
  ' Focus in ein Kontrollfeld
   oFeld = oFormulario.DrawPage.Forms(0).getByName( "Auswahl Anrede" )
   oFormulario.getCurrentController().getControl( oFeld ).setFocus()

End Sub
Hoffe ich konnte helfen.
Grpße
Chrisse

Re: [Form] Formular öffnen, Grösse einstellen

von datensurfer » Mi, 11.06.2008 11:39

hey,

das ist gut und funktioniert.

Ich suche aktuell nach einer Möglichkeit innerhalb der geöffneten Base-DB ein anderes Formular (z.B. Bericht) zu öffnen.
Das Makro bringt mich dem Ziel näher ABER es öffnet jeweils ein weiteres mal die schon geöffnete Datenbank, was ja nicht nötig ist da schon geöffnet.

Hat jemand eine Idee was ich wie anpassen muss um NUR ein Formular zu öffnen?

[Form] Formular öffnen, Grösse einstellen

von komma4 » Di, 05.02.2008 16:00

In letzter Zeit mehrfach nachgefragt, deshalb...

Hier ein Stück Code, welches aus einer BASE-Datei ein benanntes Formular öffnet und dessen Grösse einstellt, zuletzt den Cursor in einem Kontrollfeld aktivieren, sodass manN loslegen kann.

Have fun - ich denke, dass kann der ein oder die andere gebrauchen.

Code: Alles auswählen

Sub openBaseFormAndSize
' http://www.pitonyak.org/database/AndrewBase.odt
   Dim pProp(1) As New com.sun.star.beans.PropertyValue
   sURL = ConvertToURL("/zentrale/daten/ooo/OpenOffice.odb")
   oDoc = starDesktop.loadComponentFromURL(sURL,"_blank",0,Array())
   oForms = oDoc.getFormDocuments()
   'oReps = oDoc.getReportDocuments() 
   oAConnection = oDoc.DataSource.getConnection("","")
   'set properties
   pProp(0).Name = "ActiveConnection"
   pProp(0).Value = oAConnection
   pProp(1).Name = "OpenMode"
   pProp(1).Value = "open" ' OR: openDesign
   ' load the form: TargetFrameName and SearchFlags aren't used

   oFormulario = oForms.loadComponentFromURL("OOo Tipps","_blank",0,pProp())

' 2008-02-05 
   With oFormulario.getCurrentController().getFrame().getContainerWindow()
   	.setPosSize( .PosSize.x, .PosSize.y , 800, 600 , com.sun.star.awt.PosSize.SIZE )
   End With 
  ' Focus in ein Kontrollfeld
   oFeld = oFormulario.DrawPage.Forms(0).getByName( "fmtid" )
   oFormulario.getCurrentController().getControl( oFeld ).setFocus()

End Sub 

Nach oben