Base: Mehrere Instanzen eines Formulars öffnen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

wolli-j
**
Beiträge: 33
Registriert: Fr, 06.08.2010 13:10

Base: Mehrere Instanzen eines Formulars öffnen

Beitrag von wolli-j »

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
Zuletzt geändert von wolli-j am Mo, 28.07.2014 09:23, insgesamt 1-mal geändert.
wolli-j
**
Beiträge: 33
Registriert: Fr, 06.08.2010 13:10

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

Beitrag von wolli-j »

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
Antworten