{"id":55000159,"date":"2013-02-01T00:00:00","date_gmt":"2020-01-24T15:58:22","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=159"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Binaerzahlen_in_VBAEigenschaften","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html","title":{"rendered":"Bin&auml;rzahlen in VBA-Eigenschaften"},"content":{"rendered":"<p class='introduction'>Jede VBA-Eigenschaft enth&auml;lt oder erwartet nur einen einzigen Wert. Manchmal handelt es sich dabei jedoch um Zahlenwerte, die mehr als einen Eigenschaftswert repr&auml;sentieren. Ein gutes Beispiel daf&uuml;r ist die MsgBox-Anweisung, f&uuml;r die Sie mit einem einzigen Zahlenwert gleichzeitig die anzuzeigenden Schaltfl&auml;chen und das Symbol festlegen. Diese Festlegung ist einfach &#8211; schwieriger wird es, wenn Sie solche Eigenschaften auswerten m&uuml;ssen. Dieser Artikel liefert das notwendige Know-how zu diesem Thema.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1207_Binaerzahlen.mdb<\/b>.<\/p>\n<h2>Was sind Bin&auml;rzahlen<\/h2>\n<p>Im Gegensatz zu den hierzulande gebr&auml;uchlichen Dezimalzahlen, die mit Ziffern von 0 bis 9 zusammengesetzt werden, gibt es im Bin&auml;rsystem nur die beiden Zahlen 0 und 1. Wie im Dezimalsystem entscheidet die Stelle &uuml;ber die Wertigkeit des jeweiligen Teils. <b>123 <\/b>entspricht einem Hunderter, zwei Zehnern und drei Einern. Im Bin&auml;rsystem gibt es Zahlen wie <b>1101<\/b>. In diesem Fall hei&szlig;t dies: Ein Achter, ein Vierer, kein Zweier und ein Einer, in Summe: 13. Jede Stelle wird also gegen&uuml;ber der Stelle rechts davon nicht um den Faktor 10, sondern lediglich um den Faktor 2 erh&ouml;ht.<\/p>\n<p>Was soll man als Access-Entwickler damit anfangen Die Frage ist berechtigt, denn in den meisten F&auml;llen werden solche Zahlenwerte als Parameter f&uuml;r VBA-Funktionen verwendet oder als Ergebnisse von Eigenschaften geliefert &#8211; und zwar gut kaschiert.<\/p>\n<h2>Bin&auml;rzahlen als Parameter der MsgBox-Anweisung<\/h2>\n<p>Ein gutes Beispiel ist die <b>MsgBox<\/b>-Anweisung (siehe Artikel <b>Meldungsfenster anzeigen und auswerten<\/b>). Diese Funktion erwartet als zweiten Parameter Informationen dar&uuml;ber, welche Schaltfl&auml;chen es anzeigen soll, welches Icon erscheint und welche Schaltfl&auml;che als Standardschaltfl&auml;che markiert wird.<\/p>\n<p>Ein Beispiel ist die folgende Anweisung:<\/p>\n<pre><span style=\"color:blue;\">MsgBox<\/span> \"Beispielmeldung\", vbOKCancel + <span style=\"color:blue;\">vbCr<\/span>itical + vbDefaultButton2<\/pre>\n<p>Wie nur ermittelt VBA nun, welche Schaltfl&auml;chen und Icons angezeigt werden und welche Schaltfl&auml;che als Standardschaltfl&auml;che dient Es ist ganz einfach: Jeder der Ausdr&uuml;cke, also <b>vbOKCancel<\/b>, <b>vbCritical <\/b>oder <b>vbDefaultButton2<\/b>, entspricht einem Zahlenwert. Durch den <b>Plus<\/b>-Operator <b>(+<\/b>) werden die Zahlenwerte addiert und sp&auml;ter von VBA wieder auseinandergenommen. Damit dies funktioniert, d&uuml;rfen die Zahlenwerte jedoch nicht willk&uuml;rlich eingesetzt werden. <\/p>\n<p>Die Zahlenwerte hinter <b>vbDefaultButton1 <\/b>bis <b>vbDefaultButton4 <\/b>lauten beispielsweise <b>0<\/b>, <b>256<\/b>, <b>512 <\/b>und <b>768<\/b>. Die Schaltfl&auml;chen geben Sie mit diesen Werten an:<\/p>\n<ul>\n<li><b>vbOKOnly<\/b>: <b>0<\/b><\/li>\n<li><b>vbOKCancel<\/b>: <b>1<\/b><\/li>\n<li><b>vbAbortRetryIgnore<\/b>: <b>2<\/b><\/li>\n<li><b>vbYesNoCancel<\/b>: <b>3<\/b><\/li>\n<li><b>vbYesNo<\/b>: <b>4<\/b><\/li>\n<li><b>vbRetryCancel<\/b>: <b>5<\/b><\/li>\n<\/ul>\n<p>Fehlen noch die Icons, die durch folgende Konstanten angegeben werden:<\/p>\n<ul>\n<li><b>vbCritical<\/b>: <b>16<\/b><\/li>\n<li><b>vbQuestion<\/b>: <b>32<\/b><\/li>\n<li><b>vbExclamation<\/b>: <b>48<\/b><\/li>\n<li><b>vbInformation<\/b>: <b>64<\/b><\/li>\n<\/ul>\n<p>Wenn Sie nun etwa ein Meldungsfenster mit den Schaltfl&auml;chen <b>OK <\/b>und <b>Abbrechen<\/b>, der zweiten Schaltfl&auml;che als Standardschaltfl&auml;che und dem Icon mit dem Fragezeichen (<b>vbQuestion<\/b>) anzeigen m&ouml;chten, verwenden Sie als zweiten Parameter diesen Ausdruck:<\/p>\n<pre>vbOKCancel + vbDefaultButton2 + vbQuestion<\/pre>\n<p>Dies entspricht wiederum den folgenden Zahlenwerten:<\/p>\n<pre>1 + 256 + 32<\/pre>\n<p>Sie k&ouml;nnten also auch schreiben:<\/p>\n<pre><span style=\"color:blue;\">MsgBox<\/span> \"Beispielmeldung\", 289<\/pre>\n<p>Statt dem Plus-Zeichen k&ouml;nnen Sie auch den Operator <b>Or <\/b>verwenden:<\/p>\n<pre>vbOKCancel Or vbDefaultButton2 Or vbQuestion<\/pre>\n<p>Das Plus-Zeichen hat die gleiche Bedeutung wie <b>Or<\/b> W&auml;re hier nicht eher <b>And <\/b>das passende Pendant Nein &#8211; dies k&ouml;nnen Sie leicht pr&uuml;fen. Wenn Sie das Ergebnis von der Variante mit <b>Or <\/b>im Direktfenster ausgeben, erhalten Sie dieses Ergebnis:<\/p>\n<pre>  vbOKCancel Or vbDefaultButton2 Or vbQuestion\r\n 289 <\/pre>\n<p>Die <b>And<\/b>-Variante liefert hingegen:<\/p>\n<pre>  vbOKCancel And vbDefaultButton2 And vbQuestion\r\n 0 <\/pre>\n<p>Was f&uuml;hrt zu diesen Ergebnissen f&uuml;r <b>Or<\/b> und <b>And<\/b> Nun: <b>Or <\/b>steht f&uuml;r eine logische Disjunktion. Hier wird jede Position der bin&auml;ren Zahlen miteinander verglichen und mit <b>Or <\/b>verkn&uuml;pft. Dabei gilt:<\/p>\n<ul>\n<li><b>1 Or 1= 1<\/b><\/li>\n<li><b>1 Or 0 = 1<\/b><\/li>\n<li><b>0 Or 1= 1<\/b><\/li>\n<li><b>0 Or 0 = 0<\/b><\/li>\n<\/ul>\n<p>Um dies f&uuml;r das obige Beispiel umzusetzen, berechnen Sie zun&auml;chst die Bin&auml;rzahlen:<\/p>\n<p><b>1 + 32 + 256 <\/b>entspricht somit <b>1 + 100000 + 100000000<\/b>. Dies ergibt <b>100100001<\/b>, umgerechnet <b>289<\/b>.<\/p>\n<p>Die And-Verkn&uuml;pfung wiederum entspricht einer logischen Konjunktion, das hei&szlig;t, dass nur solche Bits erhalten bleiben, die in allen verkn&uuml;pften Zahlen vorkommen. Hier lauten die Regeln:<\/p>\n<ul>\n<li><b>1 And 1= 1<\/b><\/li>\n<li><b>1 And 0 = 0<\/b><\/li>\n<li><b>0 And 1= 0<\/b><\/li>\n<li><b>0 And 0 = 0<\/b><\/li>\n<\/ul>\n<p>Deshalb ergibt auch <b>1 + 32 + 256<\/b>, also <b>1 + 100000 + 100000000<\/b>, den Wert <b>0<\/b>.<\/p>\n<p>Nun wissen Sie, wie sich der Wert f&uuml;r die Konfiguration des Meldungsfensters zusammensetzt. Wie aber ermittelt VBA, welche Schaltfl&auml;chen und welche Icons anzuzeigen sind<\/p>\n<p>Dazu wird der mit <b>Or <\/b>zusammengestellte Wert per <b>And<\/b>-Operator mit allen verf&uuml;gbaren Einzelwerten verglichen. Das einfachste Beispiel sind die Schaltfl&auml;chen. VBA wird etwa wie folgt vorgehen und nacheinander alle Werte von <b>0 <\/b>bis <b>5 <\/b>mit dem &uuml;bergebenen Wert vergleichen. Angenommen, der zweite Parameter hat den Wert <b>1<\/b>, was der Konstanten <b>vbOKCancel <\/b>entspricht.<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000159\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000159?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000159\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"2c6d4a5d32\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jede VBA-Eigenschaft enth&auml;lt oder erwartet nur einen einzigen Wert. Manchmal handelt es sich dabei jedoch um Zahlenwerte, die mehr als einen Eigenschaftswert repr&auml;sentieren. Ein gutes Beispiel daf&uuml;r ist die MsgBox-Anweisung, f&uuml;r die Sie mit einem einzigen Zahlenwert gleichzeitig die anzuzeigenden Schaltfl&auml;chen und das Symbol festlegen. Diese Festlegung ist einfach &#8211; schwieriger wird es, wenn Sie solche Eigenschaften auswerten m&uuml;ssen. Dieser Artikel liefert das notwendige Know-how zu diesem Thema.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662012,66072012,44000011],"tags":[],"class_list":["post-55000159","post","type-post","status-publish","format-standard","hentry","category-662012","category-66072012","category-VBAGrundlagen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bin&auml;rzahlen in VBA-Eigenschaften - Access [basics]<\/title>\n<meta name=\"description\" content=\"Jede VBA-Eigenschaft enth\u00e4lt oder erwartet nur einen einzigen Wert. Manchmal handelt es sich dabei jedoch um Zahlenwerte, die mehr als einen Eigenschaftswert repr\u00e4sentieren. Ein gutes Beispiel daf\u00fcr ist die MsgBox-Anweisung, f\u00fcr die Sie mit einem einzigen Zahlenwert gleichzeitig die anzuzeigenden Schaltfl\u00e4chen und das Symbol festlegen. Diese Festlegung ist einfach \u2013 schwieriger wird es, wenn Sie solche Eigenschaften auswerten m\u00fcssen. Dieser Artikel liefert das notwendige Know-how zu diesem Thema.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bin&auml;rzahlen in VBA-Eigenschaften - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Jede VBA-Eigenschaft enth\u00e4lt oder erwartet nur einen einzigen Wert. Manchmal handelt es sich dabei jedoch um Zahlenwerte, die mehr als einen Eigenschaftswert repr\u00e4sentieren. Ein gutes Beispiel daf\u00fcr ist die MsgBox-Anweisung, f\u00fcr die Sie mit einem einzigen Zahlenwert gleichzeitig die anzuzeigenden Schaltfl\u00e4chen und das Symbol festlegen. Diese Festlegung ist einfach \u2013 schwieriger wird es, wenn Sie solche Eigenschaften auswerten m\u00fcssen. Dieser Artikel liefert das notwendige Know-how zu diesem Thema.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"10\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html\",\"name\":\"Bin&auml;rzahlen in VBA-Eigenschaften - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"datePublished\":\"2020-01-24T15:58:22+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Jede VBA-Eigenschaft enth\\u00e4lt oder erwartet nur einen einzigen Wert. Manchmal handelt es sich dabei jedoch um Zahlenwerte, die mehr als einen Eigenschaftswert repr\\u00e4sentieren. Ein gutes Beispiel daf\\u00fcr ist die MsgBox-Anweisung, f\\u00fcr die Sie mit einem einzigen Zahlenwert gleichzeitig die anzuzeigenden Schaltfl\\u00e4chen und das Symbol festlegen. Diese Festlegung ist einfach \\u2013 schwieriger wird es, wenn Sie solche Eigenschaften auswerten m\\u00fcssen. Dieser Artikel liefert das notwendige Know-how zu diesem Thema.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Binaerzahlen_in_VBAEigenschaften.html\",\"name\":\"Bin&auml;rzahlen in VBA-Eigenschaften\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000159"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000159\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}