window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Binärzahlen in VBA-Eigenschaften

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

Schreibe einen Kommentar