Ereignisse bei Formularaufruf

15/01/2010 - 13:13 von Volker Neurath | Report spam
Hallo zusammen,

bei Aufruf eines Formulares treten ja bekanntlich die Ereignisse Load,
Open etc. ein, die man nutzen kann.

Macht es für die Nutzung eigentlich einen Unterschied, ob das formular
per
DoCmd.OpenForm
aufgerufen wird, oder ob es mittels

set objMeinNeuesForm = New Form_frmMeinForm

instanziiert wird?

Hintergrund ist, dass ich ein Formular habe, dem ich zum einen je
nachdem für welchen zweck es geöffnet wird, erstens Daten übergebe und
zweitens dessen Datenquelle manipulieren will/muss und zum anderen
befindet sich auf dem Form eine listBox, deren Datenquelle ebenfalls
manipuliert werden muss.

Normalerweise würde ich das im Form_Load() machen, aber: geht das auch
bei Instanziierung?

Bei Formularen zwischen denen Daten ausgetauscht werden müssen, nutze
ich mittlerweile sehr gerne statt DoCmd.OpenForm die Instanzierung und
die Datenübergabe per Property Get/Property Let.

Volker

Wenn es vom Himmel Zitronen regnet -- lerne, Limonade zu machen.
 

Lesen sie die antworten

#1 Josef Poetzl
15/01/2010 - 13:55 | Warnen spam
Hallo!

Volker Neurath schrieb:
bei Aufruf eines Formulares treten ja bekanntlich die Ereignisse Load,
Open etc. ein, die man nutzen kann.

Macht es für die Nutzung eigentlich einen Unterschied, ob das formular
per
DoCmd.OpenForm
aufgerufen wird, oder ob es mittels

set objMeinNeuesForm = New Form_frmMeinForm

instanziiert wird?



Die Startereignisse
| Open -> Load -> Activate -> GotFocus -> Current
sollten in beiden Fàllen gleich ablaufen.

Bei DoCmd.OpenForm kann allerdings Current ausbleiben, falls das
Formular schon geöffnet ist und keine DS-Änderung ausgelöst wird.

Hintergrund ist, dass ich ein Formular habe, dem ich zum einen je
nachdem für welchen zweck es geöffnet wird, erstens Daten übergebe und
zweitens dessen Datenquelle manipulieren will/muss und zum anderen
befindet sich auf dem Form eine listBox, deren Datenquelle ebenfalls
manipuliert werden muss.



Kannst du das nicht über die Property-Prozedur auslösen, mit der du
die Daten übernimmst?

| Public Property let WasWeißich(newValue as xxx)
| me.abc = newValue
| setListboxSource
| end property


Normalerweise würde ich das im Form_Load() machen, aber: geht das auch
bei Instanziierung?



Falls die Steuerelemente einen Bezug zu den Daten haben, würde ich das
eventuell als Reaktion auf Current durchführen.


mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen