Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Jede VBA-Eigenschaft enthält oder erwartet nur einen einzigen Wert. Manchmal handelt es sich dabei jedoch um Zahlenwerte, die mehr als einen Eigenschaftswert repräsentieren. Ein gutes Beispiel dafür ist die MsgBox-Anweisung, für die Sie mit einem einzigen Zahlenwert gleichzeitig die anzuzeigenden Schaltflächen und das Symbol festlegen. Diese Festlegung ist einfach – schwieriger wird es, wenn Sie solche Eigenschaften auswerten müssen. Dieser Artikel liefert das notwendige Know-how zu diesem Thema.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1207_Binaerzahlen.mdb.
Was sind Binärzahlen
Im Gegensatz zu den hierzulande gebräuchlichen Dezimalzahlen, die mit Ziffern von 0 bis 9 zusammengesetzt werden, gibt es im Binärsystem nur die beiden Zahlen 0 und 1. Wie im Dezimalsystem entscheidet die Stelle über die Wertigkeit des jeweiligen Teils. 123 entspricht einem Hunderter, zwei Zehnern und drei Einern. Im Binärsystem gibt es Zahlen wie 1101. In diesem Fall heißt dies: Ein Achter, ein Vierer, kein Zweier und ein Einer, in Summe: 13. Jede Stelle wird also gegenüber der Stelle rechts davon nicht um den Faktor 10, sondern lediglich um den Faktor 2 erhöht.
Was soll man als Access-Entwickler damit anfangen Die Frage ist berechtigt, denn in den meisten Fällen werden solche Zahlenwerte als Parameter für VBA-Funktionen verwendet oder als Ergebnisse von Eigenschaften geliefert – und zwar gut kaschiert.
Binärzahlen als Parameter der MsgBox-Anweisung
Ein gutes Beispiel ist die MsgBox-Anweisung (siehe Artikel Meldungsfenster anzeigen und auswerten). Diese Funktion erwartet als zweiten Parameter Informationen darüber, welche Schaltflächen es anzeigen soll, welches Icon erscheint und welche Schaltfläche als Standardschaltfläche markiert wird.
Ein Beispiel ist die folgende Anweisung:
MsgBox "Beispielmeldung", vbOKCancel + vbCritical + vbDefaultButton2
Wie nur ermittelt VBA nun, welche Schaltflächen und Icons angezeigt werden und welche Schaltfläche als Standardschaltfläche dient Es ist ganz einfach: Jeder der Ausdrücke, also vbOKCancel, vbCritical oder vbDefaultButton2, entspricht einem Zahlenwert. Durch den Plus-Operator (+) werden die Zahlenwerte addiert und später von VBA wieder auseinandergenommen. Damit dies funktioniert, dürfen die Zahlenwerte jedoch nicht willkürlich eingesetzt werden.
Die Zahlenwerte hinter vbDefaultButton1 bis vbDefaultButton4 lauten beispielsweise 0, 256, 512 und 768. Die Schaltflächen geben Sie mit diesen Werten an:
- vbOKOnly: 0
- vbOKCancel: 1
- vbAbortRetryIgnore: 2
- vbYesNoCancel: 3
- vbYesNo: 4
- vbRetryCancel: 5
Fehlen noch die Icons, die durch folgende Konstanten angegeben werden:
- vbCritical: 16
- vbQuestion: 32
- vbExclamation: 48
- vbInformation: 64
Wenn Sie nun etwa ein Meldungsfenster mit den Schaltflächen OK und Abbrechen, der zweiten Schaltfläche als Standardschaltfläche und dem Icon mit dem Fragezeichen (vbQuestion) anzeigen möchten, verwenden Sie als zweiten Parameter diesen Ausdruck:
vbOKCancel + vbDefaultButton2 + vbQuestion
Dies entspricht wiederum den folgenden Zahlenwerten:
1 + 256 + 32
Sie könnten also auch schreiben:
MsgBox "Beispielmeldung", 289
Statt dem Plus-Zeichen können Sie auch den Operator Or verwenden:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo