VBA-Programmierung mit Klassen

Mit Klassen lässt es sich einfacher programmieren

4
(1)
Beitrag bewerten
Stand: 11. April 2011

Die Programmierung mit Klassen gilt als schwierig. Oft wird darauf ganz verzichtet, weil es auch irgendwie ohne geht. Das funktioniert zwar, aber es geht auch besser: Mit Klassen lässt es sich einfacher programmieren und so schwierig ist das im Grunde genommen gar nicht. Sie werden sehen, in der Klassenprogrammierung wird auch nur "mit Wasser gekocht".

Die Beispiele werden innerhalb einer Access-Datenbank ausgeführt. Sie funktionieren mit minimalen Änderungen auch in Word oder Excel.

Inhaltsverzeichnis

Mitglied werden

Als zahlendes Mitglied von akademie.de haben Sie vollen Zugriff auf alle Inhalte und können alle PDF-Dateien, Checklisten, Mustervorlagen und Anwendungen herunterladen.

Sind Sie sich noch unsicher? Dann wählen Sie die Option “akademie.de kostenlos testen”. So können Sie sich 14 Tage in Ruhe umschauen. Downloads stehen Ihnen in dieser Zeit nicht zur Verfügung. Gefällt Ihnen akademie.de nicht, reicht ein formloser Widerruf per E-Mail innerhalb der ersten 14 Tage. Es entstehen für Sie keine Kosten. Widerrufen Sie nicht, erhalten Sie nach Ablauf von 14 Tagen vollen Zugriff und der Mitgliedsbeitrag wird abgebucht.

Ich bin bereits Mitglied
Mitglied werden!
Ich entscheide mich für folgende Zahlungsweise:

Beitrag bewerten

Ihre Wertung:

 

Hallo,

es tut mir leid, wenn es nicht gut genug beschrieben war. Ich versuche es mal so:

Auf dem Testformular "frmMehrfachaufruf" der Seite http://www.akademie.de/direkt?pid=50808 müssen Sie lediglich eine Schaltfläche anlegen, deren BeimKlicken-Eigenschaft Sie auf [Ereignisprozedur] stellen und dann mit den drei Pünktchen rechts daneben in den Code wechseln. Damit haben Sie das erledigt, was im Text als "Damit das Formular als Klasse erkannt wird..." beschrieben ist. Eine echte Funktionalität braucht die Schaltfläche gar nicht.

Den folgenden Code aus dem Text müssen Sie in ein Standard-Modul kopieren, also gerade nicht in den Code, der zu einem Formular/Bericht gehört. Sie können im Datenbank-Fenster das Menü Einfügen/Modul aufrufen, das ist dann ein Standard-Modul. Wenn Sie den Code dort hinein kopieren, sind die beiden Variablen "m_frmEins" und "m_frmZwei" bereits Modul-öffentlich.

Fehlerhaft wäre jedoch der folgende Code:

Option Explicit

Sub Formularzwilling()
Dim m_frmEins As Form_frmMehrfachaufruf 'hier falsch!
Dim m_frmZwei As Form_frmMehrfachaufruf 'hier falsch!

Set m_frmEins = New Form_frmMehrfachaufruf
Set m_frmZwei = New Form_frmMehrfachaufruf

m_frmEins.Visible = True
m_frmZwei.Visible = True
End Sub

Dabei wären die beiden Variablen nicht öffentlich, sondern nur lokal deklariert und die Formulare sofort wieder verschwunden. Davor sollte die von Ihnen zitierte Bemerkung warnen.

Um das Beispiel zum Laufen zu bringen, stellen Sie den Cursor in diese Prozedur "Formularzwilling" und drücken die F5-Taste. Beachten Sie bitte die im Text folgende Anmerkung, dass diese Formulare nun deckungsgleich aufeinander liegen, so dass "gefühlt" nur ein Formular vorhanden ist.

Ich hoffe, dass Ihnen das so weiterhilft.

Mit freundlichen Grüßen,
Lorenz Hölscher

Ich habe gehofft, dass ich bessere Informationen bekomme.
Doch leider weit gefehlt.
Wie muß ich die m_frm Variablen Modul Veröffentlichen.
"Beachten Sie vor allem, dass die beiden m_frm...-Variablen Modul-öffentlich sind."
Das Beispiel bring ich leider nicht zum Laufen.

Der Code von clsPersons (Plural!) steht direkt ohne Download auf http://www.akademie.de/direkt?pid=50805 und derjenige von clsPerson (Singular!) auf http://www.akademie.de/direkt?pid=50769 . Sie können ihn dort jeweils markieren und über die Zwischenablage in Ihre (Klassen-!)Module einfügen.

Mit freundlichen Grüßen, Lorenz Hölscher

Hallo,

ich habe den Code von der clsPersons nicht gefunden

Bitte helfen Sie mir weiter.

Inhalt

Downloads zu diesem Beitrag

Newsletter abonnieren