Access 2007: Show-Methode nicht vorhanden / Form modal als Klasse anzeigen

04/11/2007 - 13:54 von Jörg Berger | Report spam
Guten Tag,

ich benutze Access 2007 und möchte eine Form als Klasse aufrufen.
Beispielcode:

CODE ANFANG==
Sub A123()
Dim cForm As Form_abc

Set cForm = New Form_abc

With cForm
.Modal = True
.Visible = True
End With

Set cForm = Nothing

End Sub

CODE ENDE==
Das Problem ist, das die Form nur kurz angezeigt wird (.Visible=True) und
die Klasse sich dann sofort beendet.
Deswegen möchte ich eigentlich anstatt .Visible lieber .Show vbModal
benutzen. Die Methode .Show steht jedoch nicht (mehr) zur Verfügung!?
Oder gibt es einen Weg über einen Verweis eines bestimmten Controls die
Methode .Show wieder zu benutzen?

Alternativ wàre ich auch über einen Tipp dankbar, wie man die Form als
Klasse àhnlich dem Befehl "DoCmd.OpenForm "Form_abc", , , , , acDialog"
anzeigen lassen könnte.
D. h. die Form soll solange angezeigt werden, bis der Anwender eine
entsprechende Schaltflàche drückt, die einen Me.Close() Befehl oder
àhnliches auslöst.

Besten Dank im voraus,
Jörg Berger
 

Lesen sie die antworten

#1 Thomas Möller
04/11/2007 - 14:13 | Warnen spam
Hallo Jörg,

Jörg Berger schrieb:
ich benutze Access 2007 und möchte eine Form als Klasse aufrufen.
Beispielcode:

CODE ANFANG==>
Sub A123()
Dim cForm As Form_abc

Set cForm = New Form_abc

With cForm
.Modal = True
.Visible = True
End With

Set cForm = Nothing

End Sub

CODE ENDE==>
Das Problem ist, das die Form nur kurz angezeigt wird (.Visible=True)
und die Klasse sich dann sofort beendet.



das Formular "lebt" so lange, wie die Variable, in der Du es speicherst.
Am Ende Deines Codes setzt Du die Variable auf Nothing. Mit der Variable
wird auch das Formular gelöscht.

Um das Problem zu umgehen, kannst Du die Variable im Kopf eines
Standardmoduls deklarieren. Dann verzichtest Du noch auf die Zeile "Set
cForm = Nothing". Jetzt bleibt das Formular so lange sichtbar, bis Du es
schließt oder die Variable auf Nothing setzt.


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen