Formular automatisch öffnen

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: Formular automatisch öffnen

von alex0801 » So, 20.08.2006 11:20

Sorry, mein Fehler. Ich nehm alles zurück und behaupte das Gegenteil.
Der Code funktioniert... :-( Hab da was falsch interpretiert.

Man muss nur für jeden Knopf der ein Formular öffnen soll eine OpenForm_xxx_yyy_zzz Methode anlegen und darin mit sFormName = "Formular_Name" den Namen des Formulars nennen.

Dann noch die entsprechenden Methode mit dem entsrechenden Knopf verbinden und fertig.

Sind also keine absoluten Pfade nötig und auch das auslagern der Formulare in einzele Files ist unnötig.

- Alex

von alex0801 » So, 20.08.2006 11:05

Also der Code den ich gefunden habe war dieser hier:

Code: Alles auswählen


function OpenForm( formContainer as variant, oConnection as variant, sFormName as string) as variant
	Dim aProp(1) As New com.sun.star.beans.PropertyValue
	aProp(0).Name = "ActiveConnection"
	aProp(0).Value = oConnection
	aProp(1).Name = "OpenMode"
	aProp(1).Value = "open"
	OpenForm = formContainer.loadComponentFromURL(sFormName,"_blank",0,aProp())
end function

function getFormsTC() as variant
	getFormsTC = thisComponent.Parent.getFormDocuments
end function

function getConnectionTC() as variant
	getConnectionTC = thisComponent.Drawpage.Forms(0).ActiveConnection
end function

sub OpenForm_My_Form( oev as variant )
	sFormName = "MyForm"
	OpenForm( getFormsTC, getConnectionTC, sFormName )
end sub 

so langsam leuchtets mir auch ein. Aber OO Base liefert mir immer nen Laufzeitfehler. Das mit den aProps gefällt scheinbar nicht.

Deine Art ein Frumular zu öffnen benötigt ja den absoluten Pfad. Ist somit etwas schlecht wenn man die DB auf verschiedenen Rechnern einsetzen will. Oder wenn man die DB auf nem USB-Stick mit sich rumträgt.
Kennt sich vielleicht jemand gut genug mit Macros aus und kann den obigen Code verbessern so dass er funktioniert und man trotzdem nur den Formularnamen braucht (und keinen Pfad) um das Forumlar zu öffnen?

Gruß
Alex

von Stephan » Sa, 19.08.2006 21:56

Gibts sowas "einfaches" nicht auch in Base?
Nein, derzeitig noch nicht.
Gibts sowas auch in Base
ja, in den Eigenschaften der Schaltfläche gibt es die Eigenschaft "Aktion" hier mußt Du "Dokument oder Webseite Öffnen" und die Adresse des Formulars eintragen.
Hab zwar schon gegoogelt und auch zum Teil code gefunden. Aber das war immer glech ne halbe Seite Code und hat noch viel mehr gemacht als nur ein Formular zu öffnen.


Vielleicht kannst Du bitte mal einen solchen Code posten - ich mache sehr selten was mit Base, nur das:
Zum Teil waren 3..4 Methoden dafür nötig.
verstehe ich jetzt nicht sofort.

Ein Formular ist letztlich ein (Text)dokument und ich kenne da zum Öffnen nur die Methode .loadComponentfromURL
Kann doch aber nicht so schwer sein? Muss doch auch in 5 Zeilen gehen...
es geht in Einer:

Code: Alles auswählen

dok = StarDesktop.loadComponentFromURL( ConvertToURL("C:\xyz.odt"),"_blank", 0,Dummy())


Gruß
Stephan

von alex0801 » Sa, 19.08.2006 12:16

Wenn ich das Formular extra abspechere und somit eine eigene File habe, muss ich doch die OO Base-File an Datenquelle wieder anhängen?!

In Access gibts extra ein Menü mit dem man einstellen kann was sich beim öffnen der DB-Datei tun soll und auch was für menüs überhaupt noch zu sehen sein sollen.
Gibts sowas "einfaches" nicht auch in Base?

Zum Formzlar per Knopfdruck öffnen:
Hier ist es in Access ebenfalls pipi-einfach. Button einfügen, Aktion Formular öffnen, Formular wählen. Fertig. Beim späteren anklicken den Buttons öffnet sch das gewünscte Formular.

Gibts sowas auch in Base oder muss ich da anfangen Macros zu erstellen?
Wenn ich um Macros nicht herum komme: Kann mir jemand die paar Zeilen Code geben die man baucht um ein Formular mit dem Namen "xyz" zu öffnen?
Hab zwar schon gegoogelt und auch zum Teil code gefunden. Aber das war immer glech ne halbe Seite Code und hat noch viel mehr gemacht als nur ein Formular zu öffnen. Zum Teil waren 3..4 Methoden dafür nötig.
Kann doch aber nicht so schwer sein? Muss doch auch in 5 Zeilen gehen...

Gruß
Alex

von Toxitom » Fr, 11.08.2006 09:17

Hei Weissauer,
wie ich beim Öffenen einer Datenbank ein Formular beim Start der Datenbankdatei öffnen kann
In dem du das Formular extern ablegst. Dann ist es ein normales Writer-Dokument und du öffnest es ganz normal. Base brauchst du im Normalfall dann ja gar nicht. Und mit weitern Schaltflächen kannst du das Formular verändern oder neue Formulare aufrufen (auch extern gespeicherte). Musst du halt entsprechend programmieren.

Gruss
Thomas

Formular automatisch öffnen

von Weissauer » Do, 10.08.2006 21:58

Ich bin noch Neuling in der Programmierung von Open Office,

und würde gerne wissen, wie ich beim Öffenen einer Datenbank ein Formular beim Start der Datenbankdatei öffnen kann, und wie ich von diesem Formular mit einer Schaltfläche andere Formulare öffnen kann.

Vielen Dank für

Eure Hilfe

Nach oben