{"id":55001373,"date":"2022-06-01T00:00:00","date_gmt":"2022-05-31T20:22:47","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1373"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Zuletzt_verwendete_Datensaetze_im_Ribbon","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/","title":{"rendered":"Zuletzt verwendete Datens&auml;tze im Ribbon"},"content":{"rendered":"<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_001.png\" alt=\"Die in diesem Formular zuletzt angezeigten Datens&auml;tze sollen auch per Ribbon angezeigt werden.\" width=\"449,5589\" height=\"298,9088\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Die in diesem Formular zuletzt angezeigten Datens&auml;tze sollen auch per Ribbon angezeigt werden.<\/span><\/b><\/p>\n<p><b>Im Beitrag &#8222;Zuletzt verwendete Datens&auml;tze per Listenfeld&#8220; zeige wir, wie Sie die zuletzt in einem Formular angezeigten Kundendatens&auml;tze in einem Listenfeld auff&uuml;hren k&ouml;nnen, um diese schnell wieder zu &ouml;ffnen. Vielleicht haben Sie im Formular zur Kundenverwaltung aber keinen Platz f&uuml;r diese Liste oder Sie m&ouml;chten diese einfach immer verf&uuml;gbar haben. Dann bietet sich das Ribbon als Ort f&uuml;r diese Liste an. Im vorliegenden Beitrag zeigen wir, wie Sie das Ribbon um ein Steuerelement zur Anzeige und Auswahl der zuletzt verwendeten Datens&auml;tze erweitern.<\/b><\/p>\n<p>Als Formular zur Anzeige der Kundendaten verwenden wir das gleiche Formular, das wir im Artikel <b>Zuletzt verwendete Datens&auml;tze per Listenfeld <\/b>(<b>www.access-im-unternehmen.de\/1365<\/b>) erstellt haben. Auf diese Weise k&ouml;nnen wir gleich abgleichen, ob das Ribbonsteuerelement die richtigen Datens&auml;tze anzeigt. Das Formular sieht wie in Bild 1 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_001.png\" alt=\"Die in diesem Formular zuletzt angezeigten Datens&auml;tze sollen auch per Ribbon angezeigt werden.\" width=\"449,5589\" height=\"298,9088\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Die in diesem Formular zuletzt angezeigten Datens&auml;tze sollen auch per Ribbon angezeigt werden.<\/span><\/b><\/p>\n<h2>Welches Ribbonsteuerelement f&uuml;r die zuletzt verwendeten Datens&auml;tze<\/h2>\n<p>Als Erstes stellt sich die Frage, welches der Ribbonsteuer-elemente am besten f&uuml;r unsere Aufgabe geeignet ist. Eigentlich sind das alle Steuerelemente, die Listen von Eintr&auml;gen anzeigen k&ouml;nnen, und daf&uuml;r kommen die folgenden in Frage:<\/p>\n<ul>\n<li><b>comboBox<\/b><\/li>\n<li><b>dropDown<\/b><\/li>\n<li><b>menu<\/b><\/li>\n<li><b>dynamicMenu<\/b><\/li>\n<li><b>gallery<\/b><\/li>\n<li><b>splitButton<\/b><\/li>\n<\/ul>\n<p>Und Sie k&ouml;nnen sogar, wenn Sie eine begrenzte Menge von zuletzt verwendeten Datens&auml;tzen anzeigen wollen, f&uuml;r jeden eine Schaltfl&auml;che anzeigen und so alle interessanten Datens&auml;tze gleichzeitig bereitstellen.<\/p>\n<p>Wichtig ist nur, dass wir die Anzeige mit jedem neu im Formular verwendeten Datensatz aktualisieren, und das ist mit all diesen Elementen m&ouml;glich. Also schauen wir uns anhand verschiedener Beispielen an, wie das gelingt.<\/p>\n<h2>comboBox oder dropDown<\/h2>\n<p>Die beiden Steuerelemente <b>comboBox<\/b> und <b>dropDown <\/b>haben verschiedene Eigenschaften, die sie f&uuml;r verschiedene Aufgaben pr&auml;destinieren. Wenn es darum geht, nicht nur den im jeweiligen Element ausgew&auml;hlten Text zu ermitteln, sondern auch noch einen weiteren Wert wie beispielsweise einen Index oder eine Id f&uuml;r diesen Wert, dann ist das <b>dropDown<\/b>-Element die erste Wahl.<\/p>\n<p>Also verwenden wir dieses als Erstes. Bevor wir es programmieren, ben&ouml;tigen wir jedoch noch eine Datensatzherkunft f&uuml;r die anzuzeigenden Elemente.<\/p>\n<h2>Abfrage f&uuml;r die zuletzt angezeigten Datens&auml;tze<\/h2>\n<p>In der oben beschriebenen L&ouml;sung haben wir alle Datens&auml;tze der Tabelle <b>tblKunden<\/b>, die im Formular <b>frmKundenZuletzt <\/b>angezeigt wurden, in die Tabelle <b>tblKundenZuletzt <\/b>eingetragen. Diese sah dann nach dem Durchlaufen einiger Datens&auml;tze wie in Bild 2 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_003.png\" alt=\"Tabelle mit den zuletzt angezeigten Datens&auml;tzen\" width=\"474,5589\" height=\"316,721\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Tabelle mit den zuletzt angezeigten Datens&auml;tzen<\/span><\/b><\/p>\n<p>Das Listenfeld, das die zehn zuletzt verwendeten Datens&auml;tze angezeigt hat, nutzt eine Abfrage, um diese in der richtigen Reihenfolge aus dieser Tabelle auszulesen, also in umgekehrter Reihenfolge zum Anlegezeitpunkt.<\/p>\n<p>Au&szlig;erdem hatte diese Abfrage ein Kriterium, das daf&uuml;r gesorgt hat, dass der aktuell im Formular angezeigte Datensatz nicht in der Liste erscheint, denn dieser Datensatz ist ja schon sichtbar.<\/p>\n<p>Diese Abfrage, die direkt f&uuml;r das Listenfeld hinterlegt war, kopieren wir nun in eine neue Abfrage namens <b>qryKundeZuletzt<\/b> (siehe Bild 3). Danach entfernen wir das dort markierte Kriterium.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_002.png\" alt=\"Abfrage zum Ermitteln der Datens&auml;tze in der richtigen Reihenfolge\" width=\"599,559\" height=\"329,5137\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Abfrage zum Ermitteln der Datens&auml;tze in der richtigen Reihenfolge<\/span><\/b><\/p>\n<p>Warum das Weil es sein kann, dass das Ribbon auch angezeigt wird, obwohl das Formular gar nicht sichtbar ist.<\/p>\n<p>Dann ist es nat&uuml;rlich wichtig, dass auch der zuletzt angezeigte Eintrag zur Auswahl steht.<\/p>\n<h2>Anlegen des Ribbons zur Anzeige des dropDowns<\/h2>\n<p>Um das Ribbon anzulegen, sind einige Schritte notwendig:<\/p>\n<ul>\n<li>Hinzuf&uuml;gen einer Tabelle namens <b>USysRibbons<\/b><\/li>\n<li>Eintragen der Ribbondefinition in diese Tabelle<\/li>\n<li>Hinzuf&uuml;gen der Callbackprozeduren f&uuml;r die Funktionalit&auml;t des Ribbons<\/li>\n<li>Festlegen der Ribbondefinition als Startribbon<\/li>\n<\/ul>\n<h2>Ribbontabelle mit Inhalt anlegen<\/h2>\n<p>Die Ribbontabelle ist eine Tabelle namens <b>USysRibbons<\/b>. Sie enth&auml;lt die drei Felder <b>RibbonID <\/b>(Prim&auml;rschl&uuml;sselfeld mit Autowert), <b>RibbonName <\/b>(Datentyp <b>Kurzer Text<\/b>) und <b>RibbonXML <\/b>(Datentyp <b>Langer Text<\/b>).<\/p>\n<h2>Ribbondefinition f&uuml;r das dropDown-Element erstellen<\/h2>\n<p>Die Ribbondefinition f&uuml;gen wir in einen neuen Datensatz dieser Tabelle ein, f&uuml;r den wir au&szlig;erdem den Wert <b>ZuletztVerwendete <\/b>im Feld <b>RibbonName <\/b>festlegen. Die Tabelle sieht dann wie in Bild 4 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_004.png\" alt=\"Die Tabelle USysRibbons mit der Ribbondefinition f&uuml;r die Anzeige der zuletzt angezeigten Datens&auml;tze im dropDown-Element\" width=\"700\" height=\"247,1922\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Die Tabelle USysRibbons mit der Ribbondefinition f&uuml;r die Anzeige der zuletzt angezeigten Datens&auml;tze im dropDown-Element<\/span><\/b><\/p>\n<p>Die Ribbondefinition sehen Sie im Detail in Listing 1. Die meisten Elemente dienen der Herstellung der Struktur aus <b>tab<\/b>&#8211; und <b>group<\/b>-Element. Interessant ist das <b>dropDown<\/b>-Element mit den angegebenen Ereignisattributen. Hier legen wir die Prozeduren fest, die zum F&uuml;llen des <b>dropDown<\/b>-Elements n&ouml;tig sind.<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;customUI xmlns=\"http:\/\/schemas.microsoft.com\/office\/2009\/07\/customui\" onLoad=\"OnLoad_ZuletztVerwendete\"&gt;\r\n   &lt;ribbon&gt;\r\n     &lt;tabs&gt;\r\n       &lt;tab id=\"tabZuletztVerwendet\" label=\"Zuletzt verwendet\"&gt;\r\n         &lt;group id=\"grpZuletztDropDown\" label=\"Zuletzt verwendet DropDown\"&gt;\r\n           &lt;dropDown label=\"Zuletzt verwendet:\" id=\"drpZuletztVerwendet\" onAction=\"onAction\" getItemCount=\"getItemCount\" \r\n             getItemLabel=\"getItemLabel\" getItemID=\"getItemID\"\/&gt;\r\n         &lt;\/group&gt;\r\n       &lt;\/tab&gt;\r\n     &lt;\/tabs&gt;\r\n   &lt;\/ribbon&gt;\r\n&lt;\/customUI&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Die Definition des dropDown-Elements zur Anzeige der zuletzt verwendeten Datens&auml;tze<\/span><\/b><\/p>\n<h2>Ribbon-Verweis beim Laden speichern<\/h2>\n<p>Beim erstmaligen Anzeigen des Ribbons k&ouml;nnen wir das Ereignisattribut <b>onLoad <\/b>nutzen, um eine Prozedur anzugeben, die beim Laden des Ribbons ausgel&ouml;st wird. Hier geben wir den Wert <b>onLoad_ZuletztVerwendete <\/b>an.<\/p>\n<p>Den Verweis auf die Ribbondefinition wollen wir in einer Variablen namens <b>objRibbon_ZuletztVerwendete <\/b>mit dem Datentyp <b>IRibbonUI <\/b>speichern. Dieser Datentyp ist in der Bibliothek <b>Microsoft Office x.0 Object Library <\/b>enthalten, auf die wir daher einen Verweis zum VBA-Projekt hinzuf&uuml;gen. Dazu w&auml;hlen Sie im VBA-Editor den Men&uuml;befehl <b>Extras|Verweise <\/b>aus. Hier f&uuml;gen Sie einen Verweis auf die genannte Bibliothek hinzu, sodass der Dialog anschlie&szlig;end wie in Bild 5 aussieht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_005.png\" alt=\"Hinzuf&uuml;gen eines Verweises auf die Office-Bibliothek\" width=\"449,5589\" height=\"354,4039\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Hinzuf&uuml;gen eines Verweises auf die Office-Bibliothek<\/span><\/b><\/p>\n<p>Nun k&ouml;nnen wir die Variable zum Referenzieren der Ribbondefinition zu einem neuen, leeren Modul namens <b>mdlRibbons <\/b>hinzuf&uuml;gen:<\/p>\n<pre><span style=\"color:blue;\">Public <\/span>objRibbon_ZuletztVerwendete<span style=\"color:blue;\"> As <\/span>IRibbonUI<\/pre>\n<p>Die beim Laden des Ribbons ausgef&uuml;hrte und in der Ribbondefinition f&uuml;r das Attribut <b>onLoad <\/b>des Elements <b>customUI <\/b>angegebene Prozedur definieren wir wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>onLoad_ZuletztVerwendete(ribbon<span style=\"color:blue;\"> As <\/span>IRibbonUI)\r\n     <span style=\"color:blue;\">Set<\/span> objRibbon_ZuletztVerwendete = ribbon\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Prozedur liefert mit dem Parameter <b>ribbon <\/b>einen Verweis auf die Ribbondefinition, welche die Prozedur in <b>objRibbon_ZuletztVerwendete <\/b>speichert.<\/p>\n<h2>Hinzuf&uuml;gen der Callbackprozeduren f&uuml;r die Funktionalit&auml;t des Ribbons<\/h2>\n<p>Nun wird es interessant, denn wir wollen das <b>dropDown<\/b>-Element mit den Daten aus der Abfrage <b>qryKundenZuletzt <\/b>f&uuml;llen. Dazu haben wir im <b>dropDown<\/b>-Element drei Ereignisattribute mit entsprechenden VBA-Prozeduren definiert. In der ersten z&auml;hlen wir die einzulesenden Elemente und tragen diese in ein Array ein, in der zweiten und dritten, die jeweils einmal f&uuml;r die ermittelte Anzahl aufgerufen werden, lesen wir die Daten aus dem Array aus und f&uuml;gen die IDs und die Texte zum <b>dropDown<\/b>-Element hinzu. Als Erstes ben&ouml;tigen wir eine Variable, in der wir die anzuzeigenden Informationen speichern:<\/p>\n<pre><span style=\"color:blue;\">Private <\/span>strZuletzt()<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><!--30percent--><\/p>\n<p>Danach folgt die Callbackprozedur, welche die Elemente z&auml;hlt und im Array speichert. Diese f&uuml;llt eine Recordset-Variable mit den Daten aus der Abfrage <b>qryKundenZuletzt<\/b> und durchl&auml;uft die einzelnen Datens&auml;tze in einer <b>Do While<\/b>-Schleife.<\/p>\n<p>Dabei z&auml;hlt sie die Elemente in der Variablen <b>i<\/b> und tr&auml;gt gleichzeitig die Inhalte der Felder <b>KundeID<\/b> und <b>Firma <\/b>in das Array <b>strZuletzt <\/b>ein:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>getItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef count)\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"> As Integer<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT * FROM  qryKundenZuletzt\", dbOpenDynaset)\r\n     <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rst.EOF\r\n         ReDim Preserve strZuletzt(1, i)<span style=\"color:blue;\"> As String<\/span>\r\n         strZuletzt(0, i) = rst!KundeID\r\n         strZuletzt(1, i) = rst!Firma\r\n         i = i + 1\r\n         rst.Move<span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Loop<\/span>\r\n     count = i\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die beiden folgenden Prozeduren werden danach f&uuml;r die mit <b>count <\/b>zur&uuml;ckgegebene Anzahl jeweils einmal aufgerufen. Die erste Prozedur <b>getItemID <\/b>liefert mit <b>index <\/b>den Index des mit <b>id <\/b>zur&uuml;ckzugebenden ID-Wertes, den wir aus der ersten Spalte des Arrays auslesen:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>getItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl,  index<span style=\"color:blue;\"> As Integer<\/span>, ByRef id)\r\n     id = strZuletzt(0, index)\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die zweite Prozedur holt aus der zweiten Spalte des Arrays den anzuzeigenden Text f&uuml;r das Element:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>getItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl,  index<span style=\"color:blue;\"> As Integer<\/span>, ByRef label)\r\n     label = strZuletzt(1, index)\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Festlegen der Ribbondefinition als Anwendungsribbon <\/h2>\n<p>Damit wird es Zeit f&uuml;r einen ersten Test. Also w&auml;hlen wir das soeben definierte Ribbon als Anwendungsribbon aus. Dazu m&uuml;ssen wir die Datenbank zun&auml;chst schlie&szlig;en und erneut starten. Danach steht die Ribbondefinition unter dem Namen <b>ZuletztVerwendete <\/b>in der Option <b>Name des Men&uuml;bands <\/b>in den Access-Optionen zur Verf&uuml;gung, die Sie mit dem Ribboneintrag <b>Datei|Optionen <\/b>&ouml;ffnen.<\/p>\n<p>Hier wechseln Sie zum Bereich <b>Aktuelle Datenbank <\/b>und finden unterhalb von <b>Men&uuml;band- und Symbolleistenoptionen <\/b>die passende Option vor (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_006.png\" alt=\"Einstellen des Ribbons in den Access-Optionen\" width=\"574,559\" height=\"274,4896\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Einstellen des Ribbons in den Access-Optionen<\/span><\/b><\/p>\n<p>Wenn Sie die Anwendung nun erneut schlie&szlig;en und wieder &ouml;ffnen, wird das von uns definierte Ribbontab im Ribbon sichtbar. Klicken Sie dieses an und klappen dann das <b>dropDown<\/b>-Element aus, sieht dieses wie in Bild 7 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_007.png\" alt=\"Das dropDown-Element mit den zuletzt angezeigten Kunden\" width=\"574,559\" height=\"362,2422\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Das dropDown-Element mit den zuletzt angezeigten Kunden<\/span><\/b><\/p>\n<p>Nun fehlen noch zwei Funktionen, und zwar zum Anzeigen des jeweiligen Kunden nach der Auswahl im <b>dropDown<\/b>-Element und zum Aktualisieren der Eintr&auml;ge im <b>dropDown<\/b>-Element, nachdem der Benutzer einen neuen Kunden im Formular <b>frmKundenZuletzt <\/b>ausgew&auml;hlt hat.<\/p>\n<p>Diese beiden Funktionen schauen wir uns nun an.<\/p>\n<h2>Anzeigen des im dropDown-Element gew&auml;hlten Kunden<\/h2>\n<p>Wenn der Benutzer einen der Eintr&auml;ge im <b>dropDown<\/b>-Steuerelement selektiert, soll dieser gleich im Formular <b>frmKundenZuletzt <\/b>angezeigt werden. Dazu haben wir f&uuml;r das Ereignisattribut <b>onAction <\/b>die gleichnamige Prozedur <b>onAction <\/b>angegeben. Beim Aufruf der Prozedur kann es sein, dass das Formular noch gar nicht ge&ouml;ffnet ist. Also m&uuml;ssen wir in der Prozedur <b>onAction <\/b>zun&auml;chst pr&uuml;fen, ob das Formular bereits ge&ouml;ffnet ist, was wir mit der Hilfsfunktion <b>IstFormularGeoeffnet <\/b>pr&uuml;fen, die im Modul <b>mdlTools <\/b>hinterlegt ist (siehe Listing 2).<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>onAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, selectedId<span style=\"color:blue;\"> As String<\/span>, selectedIndex<span style=\"color:blue;\"> As Long<\/span>)\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> IstFormularGeoeffnet(\"frmKundenZuletzt\")<span style=\"color:blue;\"> Then<\/span>\r\n         DoCmd.OpenForm \"frmKundenZuletzt\"\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     Forms!frmKundenZuletzt.Recordset.FindFirst \"KundeID = \" & selectedId\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Anzeigen des gew&auml;hlten Kunden aus dem dropDown-Men&uuml;<\/span><\/b><\/p>\n<p>Liefert diese den Wert <b>False <\/b>zur&uuml;ck, &ouml;ffnen wir das Formular mit der <b>DoCmd.OpenForm<\/b>-Methode erst noch. Anschlie&szlig;end suchen wir mit der <b>FindFirst<\/b>-Methode des Recordsets des Formulars nach dem Datensatz, der im Feld <b>KundeID <\/b>den mit dem Parameter <b>selectedId <\/b>der Prozedur <b>onAction <\/b>gelieferten Wert enth&auml;lt. Das Ergebnis sieht anschlie&szlig;end wie in Bild 8 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_008.png\" alt=\"Anzeige der zuletzt aufgerufenen Datens&auml;tze im Ribbon\" width=\"674,559\" height=\"477,027\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Anzeige der zuletzt aufgerufenen Datens&auml;tze im Ribbon<\/span><\/b><\/p>\n<h2>Aktualisieren des DropDown nach Anzeige eines weiteren Kunden im Formular<\/h2>\n<p>Wenn der Benutzer nun im Formular nacheinander verschiedene Datens&auml;tze anzeigt, muss noch die Liste im <b>dropDown<\/b>-Element angepasst werden. Dazu m&uuml;ssen die drei Prozeduren f&uuml;r die Attribute <b>getItemCount<\/b>, <b>getItemLabel <\/b>und <b>getItemID <\/b>erneut aufgerufen werden.<\/p>\n<p>Das erreichen wir nur durch das sogenannte Invalidieren der Ribbondefinition beziehungsweise des jeweiligen Steuerelements. Die dazu notwendige <b>Invalidate<\/b>-Methode ist eine Methode des <b>IRibbonUI<\/b>-Elements, das wir weiter oben mit der Variablen <b>objRibbon_ZuletztVerwendete <\/b>referenziert haben.<\/p>\n<p>F&uuml;r das Formular haben wir im Beitrag <b>Zuletzt verwendete Datens&auml;tze per Listenfeld <\/b>(<b>www.access-im-unternehmen.de\/1365<\/b>) eine Prozedur programmiert, welche nach der Auswahl eines neuen Datensatzes einen neuen Eintrag zur Tabelle <b>tblKundenZuletzt <\/b>hinzuf&uuml;gt.<\/p>\n<p>Diese hei&szlig;t <b>LetzteDatensaetzeAktualisieren <\/b>und wir brauchen dieser lediglich den Aufruf der Methode <b>InvalidateControl <\/b>f&uuml;r das <b>dropDown<\/b>-Element <b>drpZuletztVerwendet <\/b>hinzuzuf&uuml;gen:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>LetzteDatensaetzeAktualisieren()\r\n     ...\r\n     objRibbon_ZuletztVerwendete.InvalidateControl  \"drpZuletztVerwendet\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Damit zeigt die <b>dropDown<\/b>-Liste nun jederzeit die aktuellen zuletzt gew&auml;hlten Kunden-Datens&auml;tze an.<\/p>\n<h2>Weitere Auswahlsteuerelemente f&uuml;r die Anzeige der zuletzt verwendeten Datens&auml;tze<\/h2>\n<p>Weiter oben haben wir weitere m&ouml;gliche Steuerelemente f&uuml;r die Anzeige der zuletzt verwendeten Datens&auml;tze erw&auml;hnt. Diese arbeiten teilweise &auml;hnlich wie das <b>dropDown<\/b>-Element, teilweise m&uuml;ssen sie auf andere Weise gef&uuml;llt werden. Da sie aber alle nur die grundlegende Funktion des hier verwendeten <b>dropDown<\/b>-Elements kopieren w&uuml;rden, n&auml;mlich das Ausklappen einer Liste der zuletzt verwendeten Elemente, schauen wir uns eine Alternative an &#8211; die Anzeige mit <b>button<\/b>-Elementen.<\/p>\n<h2>Die letzten neun Kunden immer anzeigen<\/h2>\n<p>Wir wollen die letzten neun Kunden in einer Matrix von 3&#215;3  <b>button<\/b>-Elementen im zweiten <b>group<\/b>-Element unseres Ribbons anzeigen. Die Programmierung ist etwas aufwendiger als beim F&uuml;llen des <b>dropDown<\/b>-Elements, aber wir wollen zeigen, was m&ouml;glich ist. Als Erstes schauen wir uns die Erweiterung der Ribbondefinition f&uuml;r dieses Beispiel an (siehe Listing 3).<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;customUI xmlns=\"http:\/\/schemas.microsoft.com\/office\/2009\/07\/customui\" onLoad=\"OnLoad_ZuletztVerwendete\"&gt;\r\n   &lt;ribbon&gt;\r\n     &lt;tabs&gt;\r\n       &lt;tab id=\"tabZuletztVerwendet\" label=\"Zuletzt verwendet\"&gt;\r\n         ...        \r\n         &lt;group id=\"grpZuletztVerwendetButtons\" label=\"Zuletzt verwendet Buttons\"&gt;\r\n           &lt;button id=\"btnZuletzt1\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"0\"\/&gt;\r\n           &lt;button id=\"btnZuletzt2\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"1\"\/&gt;\r\n           &lt;button id=\"btnZuletzt3\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"2\"\/&gt;\r\n           &lt;button id=\"btnZuletzt4\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"3\"\/&gt;\r\n           &lt;button id=\"btnZuletzt5\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"4\"\/&gt;\r\n           &lt;button id=\"btnZuletzt6\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"5\"\/&gt;\r\n           &lt;button id=\"btnZuletzt7\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"6\"\/&gt;\r\n           &lt;button id=\"btnZuletzt8\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"7\"\/&gt;\r\n           &lt;button id=\"btnZuletzt9\" getLabel=\"getLabel\" onAction=\"onActionButton\" tag=\"8\"\/&gt;\r\n         &lt;\/group&gt;\r\n       &lt;\/tab&gt;\r\n     &lt;\/tabs&gt;\r\n   &lt;\/ribbon&gt;\r\n&lt;\/customUI&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Die Ribbondefinition zur Anzeige der zuletzt verwendeten Datens&auml;tze in neun button-Elementen<\/span><\/b><\/p>\n<p>Hier finden Sie in einer neuen Gruppe neun <b>button<\/b>-Elemente. Diese unterscheiden sich jeweils durch die Bezeichnung (<b>btnZuletzt1 <\/b>bis <b>btnZuletzt9<\/b>) sowie durch Werte f&uuml;r das Attribut <b>tag <\/b>von <b>0 <\/b>bis <b>8<\/b>, also <b>tag=&#8220;0&#8243; <\/b>bis <b>tag=&#8220;8&#8243;<\/b>. Dar&uuml;ber hinaus hat jedes <b>button<\/b>-Element f&uuml;r das Ereignisattribut <b>getLabel <\/b>den Namen der Prozedur <b>getLabel <\/b>und f&uuml;r <b>onAction <\/b>den Namen <b>onActionButton<\/b>.<\/p>\n<p>F&uuml;r ein <b>button<\/b>-Element k&ouml;nnen wir im Gegensatz zu den Eintr&auml;gen im <b>dropDown<\/b>-Element nicht jeweils eine Id hinterlegen. Daher gehen wir einen kleinen Umweg, indem wir auch hier jeweils ein Array anlegen, dass f&uuml;r die neun zuletzt angezeigten Kundendatens&auml;tze in der ersten Spalte den Wert des Feldes <b>KundeID <\/b>und in der zweiten Spalte den Wert des Feldes <b>Firma <\/b>enth&auml;lt.<\/p>\n<p>Dieses Array deklarieren wir wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Private <\/span>strZuletztButton()<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p>Das Array f&uuml;llen wir in folgender Prozedur:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>ZuletztVerwendeteArrayFuellen()\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"> As Integer<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT * FROM  qryKundenZuletzt\", dbOpenDynaset)\r\n     <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rst.EOF\r\n         ReDim Preserve strZuletztButton(1, i)\r\n         strZuletztButton(0, i) = rst!KundeID\r\n         strZuletztButton(1, i) = rst!Firma\r\n         i = i + 1\r\n         rst.Move<span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Loop<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Wir durchlaufen also einfach die Datens&auml;tze der Abfrage <b>qryKundenZuletzt <\/b>und tragen den Prim&auml;rschl&uuml;sselwert in die erste Spalte und den Firmennamen in die zweite Spalte des Arrays <b>strZuletztButton <\/b>ein.<\/p>\n<p>Dieses Array m&uuml;ssen wir nun zu zwei Gelegenheiten f&uuml;llen:<\/p>\n<ul>\n<li>beim ersten Anzeigen des Ribbons und<\/li>\n<li>bei jeder Aktualisierung im Formular zur Anzeige der Kunden, damit jeweils wieder der neue Kunde zur Liste hinzugef&uuml;gt wird.<\/li>\n<\/ul>\n<p>Der erste Fall ist schnell erledigt, diesen Aufruf k&ouml;nnen wir in der Prozedur unterbringen, die beim Laden des Ribbons ausgel&ouml;st wird:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>onLoad_ZuletztVerwendete(ribbon<span style=\"color:blue;\"> As <\/span>IRibbonUI)\r\n     <span style=\"color:blue;\">Set<\/span> objRibbon_ZuletztVerwendete = ribbon\r\n     ZuletztVerwendeteArrayFuellen\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Und wann im Formular ein neuer Kunde aufgerufen wird, macht sich durch das Aufrufen der Prozedur <b>LetzteDatensaetzeAktualisieren <\/b>bemerkbar. Hier f&uuml;gen wir unten noch den Aufruf der Prozedur <b>ZuletztVerwendeteArrayFuellen <\/b>an, aber nicht ganz unten &#8211; sondern direkt vor der Anweisung, mit der wir das Auslesen der <b>get&#8230;<\/b>-Attribute der Ribbondefinition neu starten:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>LetzteDatensaetzeAktualisieren()\r\n     ...\r\n     ZuletztVerwendeteArrayFuellen\r\n     objRibbon_ZuletztVerwendete.Invalidate\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Nun bleiben noch zwei Aufgaben. Die erste ist das F&uuml;llen der Beschriftung der <b>button<\/b>-Elemente. Das erledigen wir nicht statisch durch das <b>label<\/b>-Attribut, sondern mit <b>getLabel<\/b>. Diese Prozedur wird nach dem Aufruf der <b>Invalidate<\/b>-Methode f&uuml;r jedes <b>button<\/b>-Element erneut ausgel&ouml;st. Hier kommen nun endlich die Werte f&uuml;r das <b>tag<\/b>-Attribut zum Einsatz, das wir in der Ribbondefinition von <b>0 <\/b>bis <b>8 <\/b>durchnummeriert haben (<b>tag=&#8220;0&#8243;<\/b>). getLabel wird also von allen neun <b>button<\/b>-Elementen aufgerufen, die nacheinander die Werte von <b>0 <\/b>bis <b>8 <\/b>im <b>tag<\/b>-Attribut enthalten. Und diesen Wert k&ouml;nnen wir mit der <b>Tag<\/b>-Eigenschaft des mit dem Parameter <b>control <\/b>gelieferten <b>IRibbonControl<\/b>-Elements auslesen.<\/p>\n<p>Den so ermittelten Wert nutzen wir dann, um den entsprechenden Wert aus der zweiten Spalte des Arrays <b>strZuletztButton <\/b>auszulesen, was dem jeweiligen Wert des Feldes <b>Firma <\/b>entspricht. Diesen geben wir schlie&szlig;lich mit dem Parameter <b>label <\/b>zur&uuml;ck, damit er f&uuml;r das jeweilige <b>button<\/b>-Element angezeigt werden kann:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>getLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef label)\r\n     <span style=\"color:blue;\">Dim <\/span>strLabel<span style=\"color:blue;\"> As String<\/span>\r\n     strLabel = strZuletztButton(1, control.Tag)\r\n     label = strLabel\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Anzeigen des jeweiligen Datensatzes beim Anklicken des button-Elements<\/h2>\n<p>Nun folgt die letzte H&uuml;rde. Wir haben zwar nun die <b>button<\/b>-Elemente mit den passenden <b>label<\/b>-Werten versehen. Aber was geschieht, wenn der Benutzer eines der <b>button<\/b>-Elemente anklickt<\/p>\n<p>Dies l&ouml;st die Ereignisprozedur <b>onActionButton <\/b>aus, die wiederum mit <b>control <\/b>einen Verweis auf das entsprechende <b>IRibbonControl<\/b>-Element liefert &#8211; und das enth&auml;lt auch wieder den <b>tag<\/b>-Wert. Damit lesen wir aus der ersten Spalte des Arrays <b>strZuletztButton <\/b>diesmal nicht den Namen der <b>Firma <\/b>f&uuml;r die Beschriftung aus, sondern den f&uuml;r das entsprechende Element hinterlegten Wert aus dem Feld <b>KundeID<\/b>. Diesen speichern wir in der Variablen <b>lngID <\/b>und pr&uuml;fen dann wieder, ob das Formular <b>frmKundenZuletzt <\/b>ge&ouml;ffnet ist und &ouml;ffnen es gegebenenfalls.<\/p>\n<p>Schlie&szlig;lich stellt die Prozedur das Formular mit der <b>FindFirst<\/b>-Methode auf den gesuchten Datensatz ein:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>onActionButton(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)\r\n     <span style=\"color:blue;\">Dim <\/span>lngID<span style=\"color:blue;\"> As Long<\/span>\r\n     lngID = strZuletztButton(0, control.Tag)\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> IstFormularGeoeffnet(\"frmKundenZuletzt\")<span style=\"color:blue;\"> Then<\/span>\r\n         DoCmd.OpenForm \"frmKundenZuletzt\"\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     Forms!frmKundenZuletzt.Recordset.FindFirst  \"KundeID = \" & lngID\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das Ergebnis sehen Sie in Bild 9.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_03\/pic_1373_009.png\" alt=\"Auswahl eines der zuletzt verwendeten Eintr&auml;ge &uuml;ber Ribbonschaltfl&auml;chen\" width=\"574,559\" height=\"498,119\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Auswahl eines der zuletzt verwendeten Eintr&auml;ge &uuml;ber Ribbonschaltfl&auml;chen<\/span><\/b><\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>ZuletztBenutzteDatensaetzeImRibbon.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/7C86767A-7600-4ABA-9F5E-992940A4650A\/aiu_1373.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Beitrag &#8222;Zuletzt verwendete Datens&auml;tze per Listenfeld&#8220; zeige wir, wie Sie die zuletzt in einem Formular angezeigten Kundendatens&auml;tze in einem Listenfeld auff&uuml;hren k&ouml;nnen, um diese schnell wieder zu &ouml;ffnen. Vielleicht haben Sie im Formular zur Kundenverwaltung aber keinen Platz f&uuml;r diese Liste oder Sie m&ouml;chten diese einfach immer verf&uuml;gbar haben. Dann bietet sich das Ribbon als Ort f&uuml;r diese Liste an. Im vorliegenden Beitrag zeigen wir, wie Sie das Ribbon um ein Steuerelement zur Anzeige und Auswahl der zuletzt verwendeten Datens&auml;tze erweitern.<\/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":[662022,66032022,44000028],"tags":[],"class_list":["post-55001373","post","type-post","status-publish","format-standard","hentry","category-662022","category-66032022","category-Ergonomie_und_Benutzeroberflaeche"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Zuletzt verwendete Datens&auml;tze im Ribbon - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zuletzt verwendete Datens&auml;tze im Ribbon\" \/>\n<meta property=\"og:description\" content=\"Im Beitrag &quot;Zuletzt verwendete Datens&auml;tze per Listenfeld&quot; zeige wir, wie Sie die zuletzt in einem Formular angezeigten Kundendatens&auml;tze in einem Listenfeld auff&uuml;hren k&ouml;nnen, um diese schnell wieder zu &ouml;ffnen. Vielleicht haben Sie im Formular zur Kundenverwaltung aber keinen Platz f&uuml;r diese Liste oder Sie m&ouml;chten diese einfach immer verf&uuml;gbar haben. Dann bietet sich das Ribbon als Ort f&uuml;r diese Liste an. Im vorliegenden Beitrag zeigen wir, wie Sie das Ribbon um ein Steuerelement zur Anzeige und Auswahl der zuletzt verwendeten Datens&auml;tze erweitern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-31T20:22:47+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Zuletzt verwendete Datens&auml;tze im Ribbon\",\"datePublished\":\"2022-05-31T20:22:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/\"},\"wordCount\":2577,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"articleSection\":[\"2022\",\"3\\\/2022\",\"Ergonomie und Benutzeroberfl\u00e4che\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/\",\"name\":\"Zuletzt verwendete Datens&auml;tze im Ribbon - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2022-05-31T20:22:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Zuletzt_verwendete_Datensaetze_im_Ribbon\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zuletzt verwendete Datens&auml;tze im Ribbon\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Zuletzt verwendete Datens&auml;tze im Ribbon - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/","og_locale":"de_DE","og_type":"article","og_title":"Zuletzt verwendete Datens&auml;tze im Ribbon","og_description":"Im Beitrag \"Zuletzt verwendete Datens&auml;tze per Listenfeld\" zeige wir, wie Sie die zuletzt in einem Formular angezeigten Kundendatens&auml;tze in einem Listenfeld auff&uuml;hren k&ouml;nnen, um diese schnell wieder zu &ouml;ffnen. Vielleicht haben Sie im Formular zur Kundenverwaltung aber keinen Platz f&uuml;r diese Liste oder Sie m&ouml;chten diese einfach immer verf&uuml;gbar haben. Dann bietet sich das Ribbon als Ort f&uuml;r diese Liste an. Im vorliegenden Beitrag zeigen wir, wie Sie das Ribbon um ein Steuerelement zur Anzeige und Auswahl der zuletzt verwendeten Datens&auml;tze erweitern.","og_url":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/","og_site_name":"Access im Unternehmen","article_published_time":"2022-05-31T20:22:47+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Zuletzt verwendete Datens&auml;tze im Ribbon","datePublished":"2022-05-31T20:22:47+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/"},"wordCount":2577,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"articleSection":["2022","3\/2022","Ergonomie und Benutzeroberfl\u00e4che"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/","url":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/","name":"Zuletzt verwendete Datens&auml;tze im Ribbon - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2022-05-31T20:22:47+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Zuletzt_verwendete_Datensaetze_im_Ribbon\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Zuletzt verwendete Datens&auml;tze im Ribbon"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001373"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001373\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}