Mehrmals gleiches Formular öffnen

05/10/2007 - 11:42 von Björn Viel | Report spam
Hallo,

eines meiner Access Formulare soll mehrmals geöffnet werden können (auch aus
"Suchlisten" verschiedener Abfragen heraus).

Man kann ja aber keine Formulare mit der gleichen Bezeichnung im
Windowsfenster mehrmals öffnen.

Mein Weg daher bisher:
Formular x-mal kopieren und einzeln im Entwurf die jeweiligen Bezeichnungen
àndern. Die unterschiedlichen Bezeichnungen sind dabei auch net so schlecht
da behàlt man bei den Tasks den Überblick was man geöffnet hat, aber das kann
doch net der einzige Weg sein, denn das muss ich jetzt jedes Mal machen wenn
ich auch nur eine Kleinigkeit am Formular geàndert habe ... ?

Wie geht es "richtig"?

Danke, Gruß
Björn Viel
 

Lesen sie die antworten

#1 Sascha Trowitzsch
05/10/2007 - 11:56 | Warnen spam
Hi Björn,

"Björn Viel" schrieb im Newsbeitrag
news:
Hallo,

eines meiner Access Formulare soll mehrmals geöffnet werden können (auch aus
"Suchlisten" verschiedener Abfragen heraus).

Man kann ja aber keine Formulare mit der gleichen Bezeichnung im
Windowsfenster mehrmals öffnen.

Mein Weg daher bisher:
Formular x-mal kopieren und einzeln im Entwurf die jeweiligen Bezeichnungen
àndern. Die unterschiedlichen Bezeichnungen sind dabei auch net so schlecht
da behàlt man bei den Tasks den Überblick was man geöffnet hat, aber das kann
doch net der einzige Weg sein, denn das muss ich jetzt jedes Mal machen wenn
ich auch nur eine Kleinigkeit am Formular geàndert habe ... ?

Wie geht es "richtig"?



Indem du nur *ein* Formular erstellst, es aber mehrfach instanzierst:

Dim frm1 As Form_frmTest
Dim frm2 As Form_frmTest

Set frm1 = New Form_frmTest
Set frm2 = New Form_frmTest
frm1.Visible = True
frm2.Visible = True

Wenn du auf Ereignisse der Formulare nicht verzichten willst, dann muss der Code
in ein Klassenmodul und die Formularinstanzen mit WithEvents deklariert werden:

Private WithEvents frm2 As Form_frmTest

Wenn die Ereignisse keinen Rolle spielen, dann ist allerdings eine Collection
übersichtlicher:

Dim colFrm As New Collection
Dim frm As Form_frmTest

Set frm = New Form_frmTest
frm.Visible = True
colFrm.Add frm, "F1"

Set frm = New Form_frmTest
frm.Visible = True
colFrm.Add frm, "F2"

Ciao, SAscha

Ähnliche fragen