{"id":55000385,"date":"2018-04-01T00:00:00","date_gmt":"2020-01-24T15:59:59","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=385"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Ribbon_fuer_die_Handyverwaltung","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html","title":{"rendered":"Ribbon f&uuml;r die Handyverwaltung"},"content":{"rendered":"<p class='introduction'>Unsere Anwendung &#8222;Handyverwaltung&#8220; haben wir nun mit allen notwendigen Tabellen, Abfragen und Formularen ausgestattet. Es fehlen noch Berichte, um die enthaltenen Daten auszugeben und nat&uuml;rlich das Sahneh&auml;ubchen auf die Benutzeroberfl&auml;che: ein Ribbon, mit dem sich die verschiedenen Formulare und Funktionen aufrufen lassen. Dieses werden wir im vorliegenden Artikel vorstellen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1802_Handyverwaltung.accdb<\/b>.<\/p>\n<h2>Ben&ouml;tigte Ribbon-Befehle<\/h2>\n<p>Was genau wollen wir mit dem Ribbon steuern Als Erstes wollen wir dem Benutzer nicht zumuten, dass er die Formulare und (noch zu erstellenden) Berichte der Anwendung per Doppelklick auf die Eintr&auml;ge im Navigationsbereich &ouml;ffnen muss. Die Anzahl der Elemente ist zwar noch &uuml;berschaubar (siehe Bild 1), aber dem Benutzer wollen wir doch eine optisch ansprechendere M&ouml;glichkeit bieten, die Funktionen der Anwendung anzusteuern. Au&szlig;erdem sind die meisten Elemente im Navigationsbereich f&uuml;r den Benutzer irrelevant beziehungsweise sollen &uuml;berhaupt nicht ge&ouml;ffnet werden k&ouml;nnen &#8211; zum Beispiel die Tabellen, Abfragen und Module. Auch die Unterformulare sollte er tunlichst nicht &ouml;ffnen, au&szlig;er als Teil des entsprechenden Hauptformulars. Und viele der Formulare erfordern f&uuml;r eine einwandfreie Funktion auch die Angabe von &ouml;ffnungsparametern, Filtern und anderer Einstellungen, sodass ein &ouml;ffnen per Doppelklick aus dem Navigationsbereich heraus keinen Sinn macht.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_385_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_385_001.png\" alt=\"Access-Objekte\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Access-Objekte<\/p>\n<p>Welche Elemente aber wollen wir nun im Ribbon unterbringen und wie ordnen wir diese an Wir haben ja verschiedene M&ouml;glichkeiten f&uuml;r die Erstellung einer Hierarchie, die normalerweise &uuml;ber die Ebenen <b>tab<\/b>-Element, <b>group<\/b>-Element und untergeordnete Steuer-elemente wie etwa das <b>button<\/b>-Element organisiert werden.<\/p>\n<p>Um zu ermitteln, welche Formular und Funktionen wir vom Ribbon aus aufrufen wollen, hilft ein Blick in das Datenmodell (siehe Bild 2). Hier k&ouml;nnen wir zun&auml;chst die Verkn&uuml;pfungstabellen zum Definieren der m:n-Beziehungen herauslassen. Es bleiben dann die folgenden Entit&auml;ten:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_385_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_385_002.png\" alt=\"Datenmodell\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Datenmodell<\/p>\n<ul>\n<li>Personen<\/li>\n<li>Mobilfunkger&auml;te<\/li>\n<li>SIM-Karten<\/li>\n<li>Vertr&auml;ge<\/li>\n<li>Provider<\/li>\n<li>Hersteller<\/li>\n<li>Modelle<\/li>\n<\/ul>\n<p>F&uuml;r diese Elemente haben wir jeweils teilweise &uuml;bersichtsformular, teilweise Detailformulare, aber auch kombinierte Formulare. Normalerweise w&uuml;rde man dies vielleicht konsistenter in immer der gleichen Art von Darstellung f&uuml;r &uuml;bersichten und Details programmieren, aber wir wollten in dieser Beispiell&ouml;sung ja auch die verschiedenen M&ouml;glichkeiten darstellen.<\/p>\n<p>Im Prinzip gibt es hier keine Stammdaten, die nicht immer wieder mal ge&auml;ndert werden, daher wollen wir alle Entit&auml;ten gleich behandeln und diese in einem einzigen tab-Element darstellen. F&uuml;r jede Gruppe von Elementen erstellen wir jedoch jeweils zwei Eintr&auml;ge, n&auml;mlich einen zur Anzeige der &uuml;bersicht und einen zum Anlegen eines neuen Eintrags. Bei den Entit&auml;ten, wo wir die &uuml;bersicht und die Detailansicht in eigenen Formularen anzeigen, ist das kein Problem.<\/p>\n<p>Bei den Entit&auml;ten, die in einem einzigen Formular erscheinen, prinzipiell auch nicht &#8211; hier wird das gleiche Formular eben einmal zur Anzeige der &uuml;bersicht mit dem ersten Datensatz in der Detailansicht angezeigt und einmal mit einem neuen, leeren Datensatz.<\/p>\n<p>Wir haben noch zwei Tabellen ausgelassen: <b>tblAnreden <\/b>und <b>tblMobilfunkgeraetearten<\/b>. W&auml;hrend die Anreden mit den Eintr&auml;gen <b>Herr <\/b>und <b>Frau <\/b>vollst&auml;ndig sind und nicht mehr bearbeitet werden m&uuml;ssen, gibt es f&uuml;r die Mobilfunkger&auml;tearten schlicht keine eigene Eingabemaske. Sollten Mobilfunkger&auml;tearten hinzukommen, kann der Benutzer diese direkt &uuml;ber das entsprechende Kombinationsfeld <b>cboMobilfunk-geraete-arten <\/b>im Formular <b>frmModelldetails <\/b>eingeben.<\/p>\n<h2>Ribbon-Tabelle hinzuf&uuml;gen<\/h2>\n<p>Um das Ribbon zu definieren, ben&ouml;tigen wir als Erstes eine geeignete Tabelle, um die Ribbon-Definition zu speichern. Diese nennen wir <b>USysRibbons<\/b>, damit Access diese Tabelle beim Starten automatisch erkennt und die darin enthaltenen Ribbon-Definitionen verwenden kann. Unter anderem tauchen diese dann in den Access-Optionen auf, wo Sie die beim &ouml;ffnen der Anwendung anzuzeigende Ribbon-Definition festlegen k&ouml;nnen. Legen Sie also eine neue Tabelle an und f&uuml;gen Sie die folgenden Felder hinzu:<\/p>\n<ul>\n<li><b>RibbonID<\/b>: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li><b>Ribbonname<\/b>: Name der Ribbon-Definition<\/li>\n<li><b>RibbonXML<\/b>: XML-Definition des Ribbons<\/li>\n<\/ul>\n<p>F&uuml;r das Feld <b>Ribbonname <\/b>legen wir vorsichtshalber einen eindeutigen Index fest, damit nicht versehentlich zwei Mal der gleiche Name angegeben wird (siehe Bild 3).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_385_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_385_003.png\" alt=\"Tabelle zum Speichern der Ribbon-Definitionen\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Tabelle zum Speichern der Ribbon-Definitionen<\/p>\n<p>Wenn Sie die Tabelle gespeichert und geschlossen haben, wundern Sie sich m&ouml;glicherweise, dass die Tabelle nicht im Navigationsbereich erscheint. Das ist der Fall, weil die Tabelle durch die Bezeichnung automatisch zur Systemtabelle wird.<\/p>\n<p>Wenn Sie diese Tabelle im Navigationsbereich sehen wollen, m&uuml;ssen Sie mit der rechten Maustaste auf die Titelleiste des Navigationsbereichs klicken und den Eintrag <b>Navigationsoptionen&#8230; <\/b>aus dem Kontextmen&uuml; ausw&auml;hlen. Es erscheint der Dialog aus Bild 4, wo Sie die Option <b>Systemobjekte anzeigen <\/b>aktivieren. Anschlie&szlig;end erscheint neben den anderen Systemtabellen wie <b>MSysObjects <\/b>und so weiter auch die Tabelle <b>USysRibbons <\/b>im Navigationsbereich.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_385_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_385_004.png\" alt=\"Aktivieren der Anzeige der Systemobjekte im Navigationsbereich\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Aktivieren der Anzeige der Systemobjekte im Navigationsbereich<\/p>\n<h2>Ribbon-Definition erstellen<\/h2>\n<p>Damit k&ouml;nnen wir uns an die Arbeit machen und die Ribbon-Definition erstellen. Wir ben&ouml;tigen zun&auml;chst ein umschlie&szlig;endes customUI-Element, dass wir mit dem Attribut <b>loadImage <\/b>ausstatten und diesem den Wert <b>loadImage <\/b>zuweisen. Damit legen wir fest, dass wann immer ein <b>image<\/b>-Attribut f&uuml;r Element angegeben ist, die f&uuml;r <b>loadImage <\/b>angegebene Callback-Funktion aufgerufen wird, damit es das dem Element image zugewiesene Bild einliest und f&uuml;r das Element im Ribbon anzeigt:<\/p>\n<pre><customUI xmlns=\"http:\/\/schemas.microsoft.com\/office\/2009\/07\/customui\" loadImage=\"loadImage\"><\/pre>\n<p>Danach folgt das ribbon-Element, f&uuml;r das wir ein Attribut definieren, n&auml;mlich <b>startFromScratch<\/b>. Wenn wir dieses auf true einstellen, wird das Ribbon beim Starten der Anwendung komplett neu aufgebaut und die eingebauten Elemente werden dabei nicht ber&uuml;cksichtigt:<\/p>\n<pre><ribbon startFromScratch=\"true\"><\/pre>\n<p>Darin befindet sich das <b>tabs<\/b>-Element, welches ein oder mehrere <b>tab<\/b>-Elemente enthalten kann &#8211; je nachdem, wieviele Registerseiten das Ribbon enthalten soll:<\/p>\n<pre><tabs><\/pre>\n<p>Unser einziges <b>tab<\/b>-Element soll f&uuml;r das Attribut <b>id <\/b>den Wert <b>tabHandyverwaltung <\/b>und f&uuml;r <b>label <\/b>den Wert <b>Handyverwaltung <\/b>aufnehmen, der dann als Beschriftung angezeigt wird:<\/p>\n<pre><tab id=\"tabHandyverwaltung\" label=\"Handyverwaltung\"><\/pre>\n<p>Innerhalb des <b>tab<\/b>-Elements folgen dann die <b>group<\/b>-Elemente, die dann wiederum die tats&auml;chlichen Steuer-elemente enthalten. Wir schauen uns dies am Beispiel der Gruppe mit der Beschriftung <b>Personen <\/b>an:<\/p>\n<pre><group id=\"grpPersonen\" label=\"Personen\"><\/pre>\n<p>Auch hier reichen und die beiden Attribute <b>id <\/b>und <b>label <\/b>aus.<\/p>\n<p>Anders sieht es bei den <b>button<\/b>-Elementen aus, von denen wir jeder Gruppe zwei hinzuf&uuml;gen. Die erste soll jeweils die &uuml;bersicht anzeigen, die zweite ein Formular mit einem neuen Datensatz. F&uuml;r jedes <b>button<\/b>-Element hinterlegen wir mit dem Attribut image den Namen des Bildes, dass die Schaltfl&auml;che im Ribbon anzeigen soll. Diese Bilder speichern wir in der Tabelle <b>MSysResources<\/b>, die wir weiter unten beschreiben. Das Attribut <b>label <\/b>nimmt die Beschriftung des <b>button<\/b>-Elements auf, hier immer <b>&uuml;bersicht <\/b>oder <b>Neu<\/b>. F&uuml;r <b>id <\/b>hinterlegen wir eine eindeutige Bezeichnung. Daher kommen wir mit <b>btnUebersicht <\/b>und <b>btnNeu<\/b> nicht aus, sondern m&uuml;ssen noch den Entit&auml;tstyp hinzunehmen &#8211; also etwa <b>btnPersonenUebersicht <\/b>und <b>btnPersonNeu<\/b>. F&uuml;r das Attribut <b>onAction <\/b>hinterlegen wir den Namen der VBA-Prozedur, die beim Anklicken der Schaltfl&auml;che aufgerufen werden soll.<\/p>\n<p>Hier tragen wir immer <b>onAction <\/b>ein, da wir nur eine solche Prozedur verwenden, die dann das aufrufende Steuer-element auswertet und dementsprechende Anweisungen ausf&uuml;hrt. Schlie&szlig;lich gibt das Attribut <b>size <\/b>mit dem Wert <b>large <\/b>an, dass die Schaltfl&auml;chen gro&szlig; und mit 32&#215;32 Pixel gro&szlig;en Icons angezeigt werden sollen. Hier die beiden Definitionen f&uuml;r die Schaltfl&auml;chen der Gruppe <b>Personen<\/b>:<\/p>\n<pre><button image=\"users4\" label=\"&uuml;bersicht\" id=\"btnPersonenUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n<button image=\"user_add\" label=\"Neu\" id=\"btnPersonNeu\" onAction=\"onAction\" size=\"large\"\/><\/pre>\n<p>Die Gruppe endet schlie&szlig;lich mit dem schlie&szlig;enden <b>group<\/b>-Element:<\/p>\n<pre><\/group><\/pre>\n<p>Au&szlig;erdem folgenden noch die weiteren schlie&szlig;enden Elemente:<\/p>\n<pre>       <\/tab>\r\n     <\/tabs>\r\n   <\/ribbon>\r\n<\/customUI><\/pre>\n<p>Die gesamte XML-Definition des Ribbons sieht schlie&szlig;lich wie in Listing 1 aus. Diesen Code kopieren oder schreiben Sie in das Feld <b>RibbonXML <\/b>der Tabelle <b>USysRibbons<\/b>. Tragen Sie au&szlig;erdem f&uuml;r den gleichen Datensatz der Tabelle den Wert <b>Main <\/b>in das Feld <b>Ribbonname <\/b>ein. Die Tabelle sieht danach wie in Bild 5 aus.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_385_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_385_005.png\" alt=\"Die Tabelle USysRibbons mit der Ribbon-Definition\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Die Tabelle USysRibbons mit der Ribbon-Definition<\/p>\n<pre><xml version=\"1.0\">\r\n<customUI xmlns=\"http:\/\/schemas.microsoft.com\/office\/2009\/07\/customui\" loadImage=\"loadImage\">\r\n   <ribbon startFromScratch=\"true\">\r\n     <tabs>\r\n       <tab id=\"tabHandyverwaltung\" label=\"Handyverwaltung\">\r\n         <group id=\"grpPersonen\" label=\"Personen\">\r\n           <button image=\"users4\" label=\"&uuml;bersicht\" id=\"btnPersonenUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n           <button image=\"user_add\" label=\"Neu\" id=\"btnPersonNeu\" onAction=\"onAction\" size=\"large\"\/>\r\n         <\/group>\r\n         <group id=\"grpVertraege\" label=\"Vertr&auml;ge\">\r\n           <button image=\"document_text\" label=\"&uuml;bersicht\" id=\"btnVertraegeUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n           <button image=\"document_text_plus\" label=\"Neu\" id=\"btnVertragNeu\" onAction=\"onAction\" size=\"large\"\/>\r\n         <\/group>\r\n         <group id=\"grpProvider\" label=\"Provider\">\r\n           <button image=\"antenna\" label=\"&uuml;bersicht\" id=\"btnProviderUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n           <button image=\"antenna_plus\" label=\"Neu\" id=\"btnProviderNeu\" onAction=\"onAction\" size=\"large\"\/>\r\n         <\/group>\r\n         <group id=\"grpMobilfunkgeraete\" label=\"Mobilfunkger&auml;te\">\r\n           <button image=\"smartphone\" label=\"&uuml;bersicht\" id=\"btnMobilfunkgeraeteUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n           <button image=\"smartphone_plus\" label=\"Neu\" id=\"btnMobilfunkgeraetNeu\" onAction=\"onAction\" size=\"large\"\/>\r\n         <\/group>\r\n         <group id=\"grpSIMKarten\" label=\"SIM-Karten\">\r\n           <button image=\"sim_card\" label=\"&uuml;bersicht\" id=\"btnSIMKartenUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n           <button image=\"sim_card_plus\" label=\"Neu\" id=\"btnSIMKarteNeu\" onAction=\"onAction\" size=\"large\"\/>\r\n         <\/group>\r\n         <group id=\"grpHersteller\" label=\"Hersteller\">\r\n           <button image=\"factory\" label=\"&uuml;bersicht\" id=\"btnHerstellerUebersicht\" onAction=\"onAction\" size=\"large\"\/>\r\n           <button image=\"factory_plus\" label=\"Neu\" id=\"btnHerstellerNeu\" onAction=\"onAction\" size=\"large\"\/>\r\n         <\/group>\r\n       <\/tab>\r\n     <\/tabs>\r\n   <\/ribbon>\r\n<\/customUI><\/pre>\n<p class='imagetext'>Listing 1: Code der Ribbon-Definition<\/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\/55000385\/\">\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\/55000385?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\/55000385\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\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>Unsere Anwendung &#8222;Handyverwaltung&#8220; haben wir nun mit allen notwendigen Tabellen, Abfragen und Formularen ausgestattet. Es fehlen noch Berichte, um die enthaltenen Daten auszugeben und nat&uuml;rlich das Sahneh&auml;ubchen auf die Benutzeroberfl&auml;che: ein Ribbon, mit dem sich die verschiedenen Formulare und Funktionen aufrufen lassen. Dieses werden wir im vorliegenden Artikel vorstellen.<\/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":[66022018,662018,44000005],"tags":[],"class_list":["post-55000385","post","type-post","status-publish","format-standard","hentry","category-66022018","category-662018","category-AccessBenutzeroberflaeche"],"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>Ribbon f&uuml;r die Handyverwaltung - Access [basics]<\/title>\n<meta name=\"description\" content=\"Unsere Anwendung \u00bbHandyverwaltung\u00ab haben wir nun mit allen notwendigen Tabellen, Abfragen und Formularen ausgestattet. Es fehlen noch Berichte, um die enthaltenen Daten auszugeben und nat\u00fcrlich das Sahneh\u00e4ubchen auf die Benutzeroberfl\u00e4che: ein Ribbon, mit dem sich die verschiedenen Formulare und Funktionen aufrufen lassen. Dieses werden wir im vorliegenden Artikel vorstellen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ribbon f&uuml;r die Handyverwaltung - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Unsere Anwendung \u00bbHandyverwaltung\u00ab haben wir nun mit allen notwendigen Tabellen, Abfragen und Formularen ausgestattet. Es fehlen noch Berichte, um die enthaltenen Daten auszugeben und nat\u00fcrlich das Sahneh\u00e4ubchen auf die Benutzeroberfl\u00e4che: ein Ribbon, mit dem sich die verschiedenen Formulare und Funktionen aufrufen lassen. Dieses werden wir im vorliegenden Artikel vorstellen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:59+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\/pic_385_001.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=\"16\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\/Ribbon_fuer_die_Handyverwaltung.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_385_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html\",\"name\":\"Ribbon f&uuml;r die Handyverwaltung - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:59+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Unsere Anwendung \\u00bbHandyverwaltung\\u00ab haben wir nun mit allen notwendigen Tabellen, Abfragen und Formularen ausgestattet. Es fehlen noch Berichte, um die enthaltenen Daten auszugeben und nat\\u00fcrlich das Sahneh\\u00e4ubchen auf die Benutzeroberfl\\u00e4che: ein Ribbon, mit dem sich die verschiedenen Formulare und Funktionen aufrufen lassen. Dieses werden wir im vorliegenden Artikel vorstellen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.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\/Ribbon_fuer_die_Handyverwaltung.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Ribbon_fuer_die_Handyverwaltung.html\",\"name\":\"Ribbon f&uuml;r die Handyverwaltung\"}}]},{\"@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\/55000385","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=55000385"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000385\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}