Benutzer- und systemdefinierte Objekte ◦ ?

### Systemdefinierte Objekte

Access bietet eine Fülle systemdefinierter Objekte und Methoden an. Beispiele sind ...

- Dialogfelder wie MsgBox oder InputBox (systemdefinierter Formulare)

- Gültigkeitstests und -meldungen (systemdefinierte Gültigkeitsprozeduren)

- Formate (systemdefinierte Formatierungsprozeduren).

#### Beispiel

Eines der systemdefinierten Formate erlaubt die automatische Umwandlung in Gross- bzw. Kleinbuchstaben. Die beiden folgenden Bildschirmausschnitte illustrieren die Vereinbarung eines systemdefinierten Formats im Unterformular Zuordnungslösungen: Wenn der Benutzer in der Buchstabenspalte von Lösung einen Kleinbuchstaben wie "a" eingibt, soll nach dem Verlassen des Steuerelements TxfBuchstabenpräfix automatisch ein Grossbuchstabe wie "A" erscheinen:

Der folgende Ausschnitt aus der Eigenschaftenliste von TxfBuchstabenpräfix führt die Spezifikation aus:

Die Entwicklerin hat in der Entwurfsansicht das Textfeld TxfBuchstabenpräfix markiert, »Alt/Eingabetaste gedrückt und für die Eigenschaft Format den Wert > eingesetzt. > bedeutet "in einen Grossbuchstaben konvertieren".

### Benutzerdefinierte Objekte

Die obige Lösung des Konversionsproblems spart Zeit. Trotzdem gibt es einen Grund für eine benutzerdefinierte Konversionsprozedur. Die folgende Subroutine TxfBuchstabenpräfix_KeyPress reagiert auf einen Tastendruck (engl. key press) im Feld TxfBuchstabenpräfix und konvertiert den eingegebenen Kleinbuchstaben in einen Grossbuchstaben:

>     '-- Konvertiert einen Kleinbuchstaben in einen Grossbuchstaben
>     '   (Tastencode ist ein ANSI- oder UNICODE-Wert, der by Reference übergeben wird)
>     Private Sub TxfBuchstabenpräfix_KeyPress(Tastencode As Integer)
>       Dim strZeichen As String

>       'Chr konvertiert Tastencode in ein aequivalenten Stringzeichen
>       strZeichen = Chr(Tastencode)
>       'UCase konvertiert strZeichen in einen Großbuchstaben und Asc wieder in ein Integeraequivalent
>       Tastencode = Asc( UCase(strZeichen) )
>     End Sub

Im Unterschied zur Formulareigenschaft 'Format' ändert TxfBuchstabenpräfix_KeyPress allerdings nicht nur die Darstellung im Formular, sondern auch jene in der Basistabelle (Datenherkunft). Die Konversion erfolgt nämlich unmittelbar nach der Eingabe und nicht erst nach dem Feldwechsel. Damit die Umwandlung auch auf die Basistabelle durchschlägt, müsste der (nicht-programmierende) Entwickler nicht nur die Formulareigenschaft, sondern auch die entsprechende Tabelleneigenschaft auf > setzen.

### Fazit

Ein Anwendungspaket wie MS Office stellt eine Fülle systemdefinierter Objekte zur Verfügung. Ein grosser Teil der Entwicklungsarbeit besteht deshalb in der Suche nach geeigneten vordefinierten Objekten. Eine wertvolle Hilfe ist dabei der Objektkatalog.