BEISPIEL
BEISPIEL
HINWEIS
Der folgende Aufruf liefert z.B. »MS Sans Serif«, wenn im Formular eine Befehlsschaltfläche
Befehl1
existiert.
MsgBox Befehl1.Properties("FontName")
Eine allgemein verwendbare Routine, um eine benutzerdefinierte Eigenschaft
propName
zur
Properties
-Auf-
listung eines Formulars (
fName
) hinzuzufügen.
Sub eigenschaftHinzufügen(fName As String, propName As String, propWert As Variant)
CurrentProject.AllForms(fName).Properties.Add propName, propWert
End Sub
Wir wollen nun eine neue Eigenschaft
neueProp
zu
Formular1
hinzufügen und mit dem Wert 20 belegen. Der
Aufruf:
eigenschaftHinzufügen "Formular1", "neueProp", 20
Die Kontrolle im Direktfenster:
Debug.Print CurrentProject.AllForms("Formular1").Properties("neueProp").Value ' liefert 20
Mehr zu diesem Thema finden Sie im Praxisbeispiel »Properties-Auflistungen untersuchen« (Seite 288).
Module-Objekt und Modules-Auflistung
Ein Module-Objekt verweist auf ein Standardmodul oder auf ein Klassenmodul. Wie Sie den nachfolgend
aufgeführten Eigenschaften, Methoden und Ereignissen entnehmen können, sind damit im Allgemeinen
Quelltext-Module gemeint. Anwendungen ergeben sich damit vor allem in der Entwurfsphase, z.B. beim
Programmieren von Assistenten, weniger zur Laufzeit.
Die Modules-Auflistung erfasst alle geöffneten (kompilierten oder nicht kompilierten) Module der Daten-
bank.
Eigenschaft Read-only Erklärung
CountOfDeclarationLines X Liefert die Anzahl von Zeilen im Deklarationsbereich (Long)
CountOfLines X Liefert die Gesamtanzahl von Zeilen (Long)
Lines (ersteZeile, anzahlZeilen) X Liefert den Inhalt einer oder mehrerer Zeilen (String)
ProcBodyLine (procName, procType) X Liefert die Zeilennummer, in der eine Prozedur beginnt (Long)
ProcCountLines (procName, procType) X Liefert die Zeilenanzahl einer bestimmten Prozedur (Long)
ProcOfLine (zeile, procType) X Liefert den Namen der Prozedur, zu der eine bestimmte Zeile gehört (String)
ProcStartLine (procName, procType) X Liefert die Zeilennummer, in der eine Prozedur beginnt (Long)
Type X Gibt an, ob es sich um Standard- oder Klassenmodul handelt: acStandard
Module (0), acClassModule (1)
Tabelle 5.2 Eigenschaften des Module-Objekts
259
Auflistungen
BEISPIEL
Kapitel 5: Programmieren mit Objekten
Methode Erklärung
AddFromFile Dateiname Fügt den Inhalt einer Textdatei hinzu
AddFromString StringAusdruck Fügt einen String hinzu
CreateEventProc (EreignisName, ObjektName) Erstellt eine Ereignisprozedur, gibt Long zurück (erste Zeile)
DeleteLines (ersteZeile, anzahlZeilen) scht Zeilen
Find (Ziel, anfangsZeile, anfangsSpalte, endZeile,
endSpalte[ganzesWort, großKlein, musterVergleich])
Sucht den angegebenen Text (gibt True bei Erfolg zurück)
InsertLines (ZeilenNr, Zeichenfolge) gt Zeilen ein
InsertText Text Fügt Text ein
ReplaceLine (ZeilenNr, Zeichenfolge) Ersetzt die angegebene Zeile
Tabelle 5.3 Methoden des Module-Objekts
Die folgende Funktion erstellt ein neues Formular mit einer Befehlsschaltfläche und fügt eine
Click
-Ereig-
nisprozedur für die Befehlsschaltfläche hinzu.
Function ClickEventProc() As Boolean
Dim frm As Form, ctrl As Control, mdl As Module, rückgabe As Long
On Error GoTo Error_ClickEventProc
Set frm = CreateForm
Set ctrl = CreateControl(frm.Name, acCommandButton, , , , 800, 900)
ctrl.Caption = "Klicke hier!"
Set mdl = frm.Module
rückgabe = mdl.CreateEventProc("Click", ctrl.Name)
mdl.InsertLines rückgabe + 1, vbTab & "MsgBox ""Hallo!"""
ClickEventProc = True
Exit_ClickEventProc:
Exit Function
Error_ClickEventProc:
MsgBox Err & " :" & Err.Description
ClickEventProc = False
Resume Exit_ClickEventProc
End Function
Speichern Sie erst ab (
Strg
+
S
), um das neue Formular zu sehen!
Ereignis Erklärung
Initialize Tritt beim Erstellen einer neuen Instanz eines Klassenmoduls ein
Terminate Tritt beim Vernichten einer neuen Instanz eines Klassenmoduls ein
Tabelle 5.4 Ereignisse des Module-Objekts
Eigenschaften und Methoden der Modules-Auflistung
Diese Auflistung verfügt über die bekannten Eigenschaften Application, Name, Count, Item, Parent. Außer
der bei Auflistungen immer vorhandenen Item-Methode gibt es keine weiteren. Die Indizierung beginnt bei
null (0).
260

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.