{"id":55000298,"date":"2016-10-01T00:00:00","date_gmt":"2020-01-24T15:59:29","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=298"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"DoCmd_und_RunCommandAnweisungen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html","title":{"rendered":"DoCmd- und RunCommand-Anweisungen"},"content":{"rendered":"<p class='introduction'>Aktionen, die Sie &uuml;ber die Oberfl&auml;che von Access durchf&uuml;hren, lassen sich fast alle auch &uuml;ber VBA ansto&szlig;en. F&uuml;r die hinter Men&uuml;s, Kontextmen&uuml;s und Ribbon liegenden Befehle gibt es Pendants, welche sich in zahlreichen Methoden vor allem des DoCmd-Objekts und der RunCommand-Anweisung verstecken. &uuml;ber diese VBA-Funktionen lassen sich komplexe Aufgaben mit wenig Aufwand erledigen. Das ist Grund genug f&uuml;r eine ausf&uuml;hrlichere &uuml;bersicht.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1511_DocmdAnweisung.accdb<\/b><\/p>\n<h2>Unterschiede zwischen DoCmd und RunCommand<\/h2>\n<p>Zun&auml;chst handelt es sich bei <b>RunCommand<\/b> um eine direkte Methode der <b>Access.Application<\/b>-Instanz. <b>DoCmd<\/b> hingegen ist ein Eigenschaftsobjekt von <b>Application<\/b>, das generell verf&uuml;gbar ist:<\/p>\n<pre>Application.RunCommand acCmd-Konstante\r\nApplication.DoCmd.<Methodenausdruck><\/pre>\n<p><b>RunCommand<\/b> nimmt grunds&auml;tzlich nur einen einzigen Parameter entgegen, der aus der Enumeration <b>acCommand<\/b> stammen muss. Das sind Konstanten, die bestimmten Aktionen entsprechen. Wollen Sie etwa ein Fenster, sei es ein Formular oder ein Bericht, maximieren, so lautet die entsprechende Konstante <b>acCmdDocMaximize<\/b>:<\/p>\n<pre>RunCommand acCmdDocMaximize<\/pre>\n<p>Die Zahl dieser Konstanten in den aktuellen Access-Versionen liegt bei etwa 600. <\/p>\n<p>Beim <b>DoCmd<\/b>-Objekt sind es deutlich weniger Methoden, circa 70 n&auml;mlich, die daf&uuml;r aber eine variable Zahl an Parametern aufweisen, mit denen die Aktionen gesteuert werden k&ouml;nnen. Ein Beispiel f&uuml;r eine Anweisung ohne Parameter w&auml;re<\/p>\n<pre>DoCmd.Maximize<\/pre>\n<p>Auch dieser Befehl maximiert ein Formular- oder Berichtsfenster, welches aktuell den Fokus besitzt. Eine Methode mit mehreren Parametern w&auml;re<\/p>\n<pre>DoCmd.Close acForm, _\r\n    \"frmAdressen\", acSaveYes<\/pre>\n<p>Dies schlie&szlig;t das Formular <b>frmAdressen<\/b> und und speichert seinen Zustand, also vor allem seine Abmessungen, explizit. Auch ein im Entwurfsmodus befindliches Formular wird damit geschlossen und die &auml;nderungen abgespeichert. Ohne den optionalen Parameter <b>acSaveYes<\/b> w&uuml;rden Sie mit dem Best&auml;tigungsdialog zum Speichern konfrontiert.<\/p>\n<p>Sowohl <b>RunCommand<\/b>-, wie <b>DoCmd<\/b>-Anweisungen spiegeln das wieder, was Sie auch &uuml;ber Schaltfl&auml;chen der Oberfl&auml;che erreichen. Es handelt sich deshalb auch immer um <b>Sub<\/b>-Prozeduren, die keinen R&uuml;ckgabewert haben. Generell k&ouml;nnte man formulieren, dass <b>RunCommand<\/b> Anweisungen entspricht, die keine weitere Interaktion erfordern, w&auml;hrend die <b>DoCmd<\/b>-Methoden eher mit den Access-Assistenten zu vergleichen w&auml;ren, die &uuml;ber mehrere Schritte Angaben abfragen, bevor die eigentliche Aktion ausgef&uuml;hrt wird. Diese vom Assistenten gesammelten Informationen entsprechen dann den Parametern, die die <b>DoCmd<\/b>-Methode erwartet. Ein Beispiel hierf&uuml;r w&auml;re der Text-<b>Export-Assistent<\/b>, der sein Spiegelbild in der Anweisung <b>DoCmd.TransferText <\/b>hat.<\/p>\n<p>W&auml;hrend die <b>DoCmd<\/b>-Anweisungen in der Hilfe von Access alle hinreichend dokumentiert sind, sind Sie bei den <b>RunCommand<\/b>-Konstanten auf den sprechenden Namen oder Experimente angewiesen.<\/p>\n<p>Microsoft selbst hat &uuml;ber alle Versionen von Access hinweg keine &uuml;bersicht &uuml;ber die Bedeutung der Konstanten ver&ouml;ffentlicht. Im Zweifel finden Sie Im Internet auf Seiten Dritter weitere Erl&auml;uterungen.<\/p>\n<p>Im Folgenden geht es in erster Linie um die M&ouml;glichkeiten, die <b>DoCmd<\/b> er&ouml;ffnet. Nicht alle Methoden sind aufgef&uuml;hrt, da viele nicht wirklich relevant sind oder nur im Umfeld von Access-Projekten (SQL-Server) Bedeutung haben. Die Methoden sind thematisch zusammengefasst.<\/p>\n<h2>Objekte &ouml;ffnen<\/h2>\n<p>Dass sich ein Formular &uuml;ber die <b>DoCmd<\/b>-Anweisung OpenForm laden l&auml;sst, ist Ihnen sicher schon untergekommen. Aber f&uuml;r alle anderen Access-Objekte gibt es ebenfalls &auml;quivalente Methoden, deren wesentliche Vertreter Sie in Listing 1 finden. Interessant sind dabei vor allem die Parameter, welche das Laden steuern.<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>TestOpenObjects()\r\n     DoCmd.OpenModule \"mdlDoCommands\", \"TestOpenObjects\"\r\n         Msg \"Modul und Prozedur ge&ouml;ffnet\"\r\n     DoCmd.OpenQuery \"qryAdressenG\", acViewNormal, acReadOnly\r\n         Msg \"Abfrage ge&ouml;ffnet\"\r\n     DoCmd.OpenReport \"rptAdressen\", acViewPreview, \"Vorname Like 'B*'\", acDialog\r\n         Msg \"Bericht ge&ouml;ffnet\"\r\n     DoCmd.OpenForm \"frmAdressen\", , , , acFormReadOnly, acDialog, \"Test1\"\r\n         Msg \"Formular war ge&ouml;ffnet\"\r\n     DoCmd.OpenTable \"tblLaender\", acViewNormal, acReadOnly\r\n         Msg \"Tabelle ge&ouml;ffnet\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: Die relevanten &ouml;ffnen-Methoden des DoCmd-Objekts<\/p>\n<p><b>OpenModule<\/b> ist f&uuml;r den Laufzeitbetrieb einer Datenbank &uuml;berfl&uuml;ssig. Die Anweisung &ouml;ffnet ein VBA-Modul, das Sie namentlich angeben. Zus&auml;tzlich kann mit weiterem Parameter auch eine Prozedur des Moduls spezifiziert werden, auf die beim &ouml;ffnen der Cursor positioniert wird. Die Beispieldatenbanken von <b>Access Basics<\/b> verwenden den Befehl etwa hin und wieder im Intro-Formular, um beim Start sogleich ein Modul und damit den VBA-Editor zu &ouml;ffnen, welches von besonderem Interesse sein kann.<\/p>\n<p><b>OpenQuery<\/b> &ouml;ffnet eine Abfrage. &uuml;ber den <b>View-Parameter <\/b>steuern Sie dabei, in welcher Gestalt die Abfrage erscheinen soll. M&ouml;chten Sie die normale Datenblattansicht, so setzen Sie <b>acViewNormal<\/b> ein. F&uuml;r den Entwurfsmodus steht <b>acViewDesign<\/b>. Weniger bekannt ist, dass <b>acViewPreview<\/b> die Abfrage in die Seitenansicht f&uuml;r den Druck bringt, womit etwa kontrolliert werden kann, ob das Ergebnis auf eine Seite passt. Diese <b>View<\/b>-Parameter teilt sich die Anweisung mit den anderen &ouml;ffnungsmethoden. Nur sind bei Abfragen die Konstanten <b>acViewReport<\/b> (Berichtsansicht) und <b>acViewLayout<\/b> (Layout-Ansicht) nicht erlaubt und f&uuml;hren zum Fehler.<\/p>\n<p>Handelt es sich bei der Abfrage um eine Aktionsabfrage, so hat der View-Parameter keinerlei Bedeutung, denn ein Fenster &ouml;ffnet sich hier nicht.<\/p>\n<p>Interessant ist der letzte optionale Parameter <b>DataMode<\/b>, mit dem Sie bestimmen k&ouml;nnen, ob das Abfrageergebnis editierbar sein soll. <b>acReadOnly<\/b> f&uuml;hrt n&auml;mlich zu einer schreibgesch&uuml;tzten Ansicht, w&auml;hrend ein <b>acEdit<\/b> (Vorgabe) die Datens&auml;tze bearbeitbar macht, falls die Abfrage selbst das unterst&uuml;tzt.<\/p>\n<p>Die gleichen Parameter, wie f&uuml;r <b>OpenQuery<\/b>, finden Sie auch bei der Anweisung <b>OpenTable<\/b>, mit der Sie eine Tabelle &ouml;ffnen. Auch hier k&ouml;nnen Sie &uuml;ber <b>DataMode<\/b> entscheiden, ob die Ansicht schreibgesch&uuml;tzt oder editierbar sein soll.<\/p>\n<p>Umfangreich sind die Parameter, die die zum Laden eines Formulars dienende Anweisung OpenForm erwartet. Bis auf den Namen des Formulars sind diese allerdings alle optional und deshalb auch nicht so bekannt.<\/p>\n<p>Die Ansichtsart steuern Sie wie bei <b>OpenQuery<\/b> und <b>OpenTable<\/b>, nur, dass nun auch <b>acViewLayout<\/b> gestattet ist. Standardm&auml;&szlig;ig ist <b>acViewNormal<\/b> voreingestellt. Als zweiten Parameter, im Listing nicht verwendet, k&ouml;nnen Sie den Namen einer Filterabfrage angeben, die die angezeigte Datensatzmenge einschr&auml;nkt. Dieses Verfahren ist weitgehend obsolet. Verwenden Sie besser den dritten Parameter f&uuml;r die <b>WhereCondition<\/b>. Hier k&ouml;nnen Sie einen SQL-Ausdruck einsetzen, der als Filter dient, etwa:<\/p>\n<pre>..., \"Nachname LIKE 'H*''<\/pre>\n<p>Das f&uuml;hrte dazu, dass nur Datens&auml;tze im Formular erschienen, die im Nachnamenfeld mit <b>H<\/b> beginnen. Die Verwendung dieses Parameters entspricht damit dem Setzen der Formulareigenschaft <b>Filter<\/b> inklusive dem Aktivieren von <b>FilterOn<\/b>.<\/p>\n<p>Auch beim Formular kann das Editieren ausgeschaltet werden, indem Sie die Konstante <b>acFormReadOnly<\/b> f&uuml;r <b>DataMode<\/b> einsetzen. Und schlie&szlig;lich l&auml;sst sich &uuml;ber <b>WindowMode<\/b> angeben, wie das Formular geladen wird. Der Standard ist <b>acWindowNormal<\/b>. Nehmen Sie <b>acIcon<\/b>, so &ouml;ffnet es sich minimiert. Mit <b>acHidden<\/b> bleibt es sogar unsichtbar. Schlie&szlig;en k&ouml;nnen Sie es dann nur noch &uuml;ber VBA. Am interessantesten aber ist der &uuml;ber <b>acDialog<\/b> festgelegte Dialog-Modus. In diesem zeigt sich das Formular auf den ersten Blick in normalem Gewand. Tats&auml;chlich aber ist es <b>modal<\/b>, was bedeutet, dass der Rest der Access-Anwendung gesperrt ist. Nur das ge&ouml;ffnete Dialogformular l&auml;sst sich bearbeiten. Zudem stoppt auch VBA nach dem Ausf&uuml;hren der aufrufenden Code-Zeile. Erst nach dem Schlie&szlig;en f&auml;hrt es mit den weiteren Zeilen der Prozedur fort. Man kann sich dies etwa zunutze machen, um Eingaben im Formular auszulesen. Denn auch dann, wenn das Formular &uuml;ber die <b>Visible<\/b>-Eigenschaft im Formular-Code unsichtbar gemacht wird, &uuml;bergibt VBA die Kontrolle an die aufrufende Prozedur. Nun k&ouml;nnte diese etwa Felder des Formulars auslesen, da es inzwischen zwar noch existiert, aber nicht mehr sichtbar ist. Das bedeutet allerdings auch, dass die Routine selbst das Formular &uuml;ber eine Close-Anweisung schlie&szlig;t, denn sonst irrt es auf Ewigkeiten im Speicher umher.<\/p>\n<p>Als letzten Parameter finden Sie f&uuml;r <b>OpenArgs<\/b> im Listing den String <b>&#8222;TEST1&#8220;<\/b>. Hier k&ouml;nnen Sie beliebige Daten, also auch Zahlenvariablen oder Objekte einsetzen. Das hat auf die Gestalt des geladenen Formulars keinen Einfluss. &uuml;ber dessen Eigenschaft <b>OpenArgs<\/b> kann aber an beliebiger Stelle im Formular-Code auf diese Angabe Bezug genommen werden. So etwa im <b>Beim Laden<\/b>-Ereignis des Formulars:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>Form_Load()\r\n     Msgbox Me.OpenArgs\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Hier w&uuml;rde <b>TEST1<\/b> in einem Meldungsfenster erscheinen, sobald das Formular gestartet wurde.<\/p>\n<p>Die Parameter f&uuml;r die Anweisung <b>OpenReport<\/b> zum Laden eines Berichts gleichen jenen von <b>OpenForm<\/b>. Hier ist zus&auml;tzlich die Ansichtsart <b>acViewReport<\/b> (Berichtsansicht) m&ouml;glich. Ansonsten lassen sich hier ebenfalls Filter setzen, der <b>WindowMode<\/b> einstellen und <b>OpenArgs<\/b> &uuml;bergeben. Es ist jedoch eine Besonderheit zu beachten: <b>acViewNormal<\/b> &ouml;ffnet den Bericht nicht etwa in der normalen Ansicht, sondern schickt ihn zum Drucker! Wenn Sie also bei <b>OpenReport<\/b> lediglich den Namen des Berichts angeben und auf weitere Parameter verzichten, so wundern Sie sich nicht, dass scheinbar nichts passiert! Erst im Taskbar von Windows stellen Sie dann fest, dass ein Drucker in Aktion gesetzt wurde. F&uuml;r die normale Ansicht unter Access setzten Sie daher <b>acViewPreview<\/b> ein.<\/p>\n<p>&uuml;ber VBA mit <b>DoCmd<\/b> ge&ouml;ffnete Objekte schlie&szlig;en Sie mit einer weiteren <b>DoCmd<\/b>-Anweisung:<\/p>\n<pre>DoCmd.Close acForm, \"frmAdressen\"\r\nDoCmd.Close acModule, \"mdlDoCommands\"\r\nDoCmd.Close acQuery, \"qryAdressenG\"<\/pre>\n<h2>Formular- und<\/h2>\n<h2>Datensatzsteuerung<\/h2>\n<p>Ist ein Formular erst &uuml;ber <b>OpenForm<\/b> ge&ouml;ffnet, dann k&ouml;nnen Sie es &uuml;ber zahlreiche <b>DoCmd<\/b>-Methoden steuern. Oder genauer gesagt: dessen Datens&auml;tze steuern.<\/p>\n<p>Listing 2 zeigt eine gek&uuml;rzte Version der Prozedur, welche Sie in der Beispieldatenbank finden. In der Originalversion ist nach jeder <b>DoCmd<\/b>-Zeile eine <b>Msgbox<\/b> eingebaut, die ausgibt, was gerade vonstattenging. Ohne diese Meldungsfenster w&uuml;rde der Code der Prozedur ja in Sekundenbruchteilen durchlaufen sein, ohne dass Sie die Auswirkungen der Anweisungen begutachten k&ouml;nnten.<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>TestFormObject()\r\n     DoCmd.OpenForm \"frmAdressen\"\r\n     DoEvents\r\n     DoCmd.SelectObject acForm, \"frmAdressen\"\r\n     DoCmd.ApplyFilter , \"Nachname LIKE 'Wag*'\"\r\n'    DoCmd.SetFilter , \"Nachname LIKE 'Wag*'\",\"\r\n     DoCmd.GoToRecord acDataForm, \"frmAdressen\", acLast\r\n     DoCmd.FindRecord \"Gudrun\", acEntire, False, acSearchAll, False, acAll, <span style=\"color:blue;\">True<\/span>\r\n     DoCmd.SetOrderBy \"Vorname\", \"sfmKinder\"\r\n     DoCmd.FindRecord \"Gisela\", acEntire, False, acSearchAll, False, acAll, <span style=\"color:blue;\">True<\/span>\r\n     DoCmd.Find<span style=\"color:blue;\">Next<\/span>\r\n     DoCmd.SetProperty \"txtNachname\", acPropertyForeColor, <span style=\"color:blue;\">RGB<\/span>(64, 64, 255)\r\n     DoCmd.Requery \"txtVorname\"\r\n     DoCmd.ShowAllRecords\r\n     DoCmd.Echo <span style=\"color:blue;\">False<\/span>\r\n     DoCmd.GoToRecord acDataForm, \"frmAdressen\", acLast\r\n     DoCmd.GoToRecord acDataForm, \"frmAdressen\", acFirst\r\n     DoCmd.Echo <span style=\"color:blue;\">True<\/span>\r\n     DoCmd.SearchForRecord acDataForm, \"frmAdressen\", acFirst, \"Nachname='H&uuml;ckmann'\"\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">MsgBox<\/span>(\"Formular schlie&szlig;en\", vbYesNo) = vbYes<span style=\"color:blue;\"> Then<\/span>\r\n         DoCmd.Save acForm, \"frmAdressen\"\r\n         DoCmd.Close acForm, \"frmAdressen\", acSaveYes\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 2: DoCmd-Anweisungen f&uuml;r verschiedene datensatzbezogene Aktionen<\/p>\n<p><b>SelectObject<\/b> setzte den Fokus auf ein Access-Objekt und\/oder markiert dieses. In unserem Fall handelt es sich um das Formular <b>frmAdressen<\/b>. Sinn der Angelegenheit ist es, das entsprechende Objekt zu aktivieren. Denn die folgenden Anweisungen wirken immer auf das ge&ouml;ffnete aktive Objekt. Sind etwa mehrere Formulare gleichzeitig ge&ouml;ffnet, so steuern Sie mit diesem Befehl, welches den Fokus bekommen soll.<\/p>\n<p>Nach dem Aktivieren kann per <b>ApplyFilter<\/b> eine Filterbedingung auf die angezeigten Datens&auml;tze angewandt werden. Das entspricht dem Vorgang, wenn Sie manuell &uuml;ber das Men&uuml;band oder &uuml;ber einen Spaltenkopf in Datenblattansicht einen Filter bestimmen. Hier werden nur jene Datens&auml;tze angezeigt, die im Nachnamefeld mit <b>Wag<\/b> beginnen. In der Navigationsleiste wird das deutlich, weil sich hier die Zahl der Datens&auml;tze verringert hat und vom Ausdruck <b>(Gefiltert)<\/b> begleitet wird. Statt <b>ApplyFilter<\/b> k&ouml;nnen Sie auch die Anweisung <b>SetFilter<\/b> mit gleicher Syntax benutzen. Der Unterschied besteht darin, dass beim Schlie&szlig;en des Formulars und gleichzeitigem Speichern der Filterausdruck dann in der Eigenschaft <b>Filter<\/b> verewigt bleibt.<\/p>\n<p>Einen gesetzten Filter entfernen Sie einfach wieder mit einem Aufruf von <b>DoCmd.ShowAllRecords<\/b>.<\/p>\n<p><b>GotoRecord<\/b> erlaubt das Springen zu einem bestimmten Datensatz. Hier kann dezidiert angegeben werden, welches Formular zu steuern ist. F&uuml;r den letzten Parameter gibt es verschiedene Steuerkonstanten. <b>acLast<\/b> springt zum letzten Datensatz, <b>acFirst<\/b> zum ersten, und so weiter. Interessanter ist da schon <b>acGoto<\/b>. In diesem Fall muss noch ein weiterer Parameter angeh&auml;ngt werden, der den Offset zum aktuellen Datensatz angibt. M&ouml;chten Sie etwa zum genau f&uuml;nften Datensatz des Formulars springen, so verwenden Sie zwei Zeilen:<\/p>\n<pre>DoCmd.GoToRecord  , , acFirst\r\nDoCmd.GoToRecord  , , acGoto, 4<\/pre>\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\/55000298\/\">\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\/55000298?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\/55000298\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"a4912ba1e1\"\/>\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>Aktionen, die Sie &uuml;ber die Oberfl&auml;che von Access durchf&uuml;hren, lassen sich fast alle auch &uuml;ber VBA ansto&szlig;en. F&uuml;r die hinter Men&uuml;s, Kontextmen&uuml;s und Ribbon liegenden Befehle gibt es Pendants, welche sich in zahlreichen Methoden vor allem des DoCmd-Objekts und der RunCommand-Anweisung verstecken. &uuml;ber diese VBA-Funktionen lassen sich komplexe Aufgaben mit wenig Aufwand erledigen. Das ist Grund genug f&uuml;r eine ausf&uuml;hrlichere &uuml;bersicht.<\/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":[66112015,662015,44000013],"tags":[],"class_list":["post-55000298","post","type-post","status-publish","format-standard","hentry","category-66112015","category-662015","category-AccessFunktionen"],"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>DoCmd- und RunCommand-Anweisungen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Aktionen, die Sie \u00fcber die Oberfl\u00e4che von Access durchf\u00fchren, lassen sich fast alle auch \u00fcber VBA ansto\u00dfen. F\u00fcr die hinter Men\u00fcs, Kontextmen\u00fcs und Ribbon liegenden Befehle gibt es Pendants, welche sich in zahlreichen Methoden vor allem des DoCmd-Objekts und der RunCommand-Anweisung verstecken. \u00dcber diese VBA-Funktionen lassen sich komplexe Aufgaben mit wenig Aufwand erledigen. Das ist Grund genug f\u00fcr eine ausf\u00fchrlichere \u00dcbersicht.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DoCmd- und RunCommand-Anweisungen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Aktionen, die Sie \u00fcber die Oberfl\u00e4che von Access durchf\u00fchren, lassen sich fast alle auch \u00fcber VBA ansto\u00dfen. F\u00fcr die hinter Men\u00fcs, Kontextmen\u00fcs und Ribbon liegenden Befehle gibt es Pendants, welche sich in zahlreichen Methoden vor allem des DoCmd-Objekts und der RunCommand-Anweisung verstecken. \u00dcber diese VBA-Funktionen lassen sich komplexe Aufgaben mit wenig Aufwand erledigen. Das ist Grund genug f\u00fcr eine ausf\u00fchrlichere \u00dcbersicht.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/SearchDialog.png\" \/>\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=\"27\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\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/SearchDialog.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html\",\"name\":\"DoCmd- und RunCommand-Anweisungen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:29+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Aktionen, die Sie \\u00fcber die Oberfl\\u00e4che von Access durchf\\u00fchren, lassen sich fast alle auch \\u00fcber VBA ansto\\u00dfen. F\\u00fcr die hinter Men\\u00fcs, Kontextmen\\u00fcs und Ribbon liegenden Befehle gibt es Pendants, welche sich in zahlreichen Methoden vor allem des DoCmd-Objekts und der RunCommand-Anweisung verstecken. \\u00dcber diese VBA-Funktionen lassen sich komplexe Aufgaben mit wenig Aufwand erledigen. Das ist Grund genug f\\u00fcr eine ausf\\u00fchrlichere \\u00dcbersicht.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.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\/DoCmd_und_RunCommandAnweisungen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/DoCmd_und_RunCommandAnweisungen.html\",\"name\":\"DoCmd- und RunCommand-Anweisungen\"}}]},{\"@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\/55000298","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=55000298"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000298\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}