Base: Mehrere Instanzen eines Formulars ö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: Base: Mehrere Instanzen eines Formulars öffnen

Base: Mehrere Instanzen e. Form.s öffnen -> weitere Überlegu

von wolli-j » Mo, 28.07.2014 09:22

Vielleicht führen diese Punkte (oder deren Widerlegung) weiter!?
  • Mehrere Views oder Frames oder Controller des Formulars zu erzugen, dürfte nichts bringen, denn ich brauche für jedes Fenster ein Model, das die Daten hält
  • Sehr unelegant, aber machbar, wäre, sich z.B. 5 identische Formulare auf Halde zu legen und umschichtig zu benutzen
  • Zur Not mache ich es halt mit Dialogen. Habe ich gerade noch nicht getestet, aber sollte gehen. Ist natürlich viel mehr Arbeit mit der Programmierung.
  • Der Königsweg könnte sein, per Code das Ausgangsformular zu duplizieren, zu öffnen und nach Gebrauch wieder zu zerstören. Aber wie geht das? Noch nicht geforscht ich habe.
Bitte um reichhaltige Kommentierung! Danke, Wolli

Base: Mehrere Instanzen eines Formulars öffnen

von wolli-j » So, 27.07.2014 22:48

Hallo zusammen,

ich habe in Base ein Erfassungsformular erstellt und möchte dieses gerne mehrfach öffnen, um mehrere Erfassungsvorgänge parallel bearbeiten zu können. (Das Formular liegt in einem Ordner "Basisformulare", aber das ist m.E. nicht Auslöser meines Problems.) Mein untenstehender Versuch klappt leider nicht: es wird ab dem zweiten Aufruf nur das bereits offene Dokument aktiviert.

Code: Alles auswählen

Sub Erfassung_oeffnen
dim pvArg(1) as new com.sun.star.beans.PropertyValue, _
	oFormContainer as object

	pvArg(0).Name = "ActiveConnection"
	pvArg(0).Value = ThisDatabaseDocument.DataSource.getConnection("","")
	pvArg(1).Name = "OpenMode"
	pvArg(1).Value = "open"
	oFormContainer = thisdatabasedocument.formdocuments("Basisformulare")
	
	oFormContainer.loadcomponentfromurl("Hauptformular","_blank",0,pvArg())
end sub
Auch diese Zeile zeitigt das selbe Ergebnis:

Code: Alles auswählen

thisdatabasedocument.formdocuments.GetByName("Basisformulare").GetByName("Hauptformular").open
Das hier ebenfalls:

Code: Alles auswählen

ThisDatabaseDocument.CurrentController.LoadComponent(com.sun.star.sdb.application.DatabaseObject.FORM,"Basisformulare/Hauptformular",FALSE)
Vielleicht irgendwas mit Template oder "as new blablabla"?

Danke für Denkanstöße!

Wolli

Nach oben