{"id":55000532,"date":"2021-06-01T00:00:00","date_gmt":"2021-06-01T00:00:00","guid":{"rendered":"http:\/\/access-basics.de\/532"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Geraeteeinweisungen_verwalten_2_Formulare","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html","title":{"rendered":"Ger&auml;teeinweisungen verwalten 2: Formulare"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/f06181355fda45a7ba3c8bd3956f535f\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p class='introduction'>Die Einweisung in Ger&auml;te f&uuml;r verschiedene Mitarbeiter ist ein tolles Beispiel f&uuml;r eine m:n-Beziehung. Wir werden uns in dieser Artikelreihe ansehen, wie das Datenmodell f&uuml;r die m:n-Beziehung aufgebaut wird, wie Sie die Formulare zur Verwaltung der Einweisungen gestalten und wie Sie mit Berichten verschiedene Listen ausgeben k&ouml;nnen &#8211; zum Beispiel, welcher Mitarbeiter welche Einweisungen erhalten hat oder f&uuml;r welches Ger&auml;t welcher Mitarbeiter geschult wurde. Im vorliegenden zweiten Teil schauen wir uns an, wie Sie die Daten der Tabellen der Anwendung in Formularen verwalten k&ouml;nnen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>2103_GeraeteeinweisungenVerwalten2.accdb<\/b>.<\/p>\n<h2>Ben&ouml;tigte Formulare<\/h2>\n<p>Wenn wir eine Anwendung mit zwei Tabellen zum Speichern von Objekten wie Mitarbeitern und Ger&auml;ten und einer Tabelle zum Herstellen von Beziehungen zwischen diesen beiden Objekttypen mit einer Benutzeroberfl&auml;che versehen wollen, ben&ouml;tigen wir zumindest die folgenden Elemente:<\/p>\n<ul>\n<li>ein Detailformular zum Anlegen und Bearbeiten von Mitarbeitern<\/li>\n<li>ein Detailformular zum Anlegen und Bearbeiten von Ger&auml;ten<\/li>\n<li>ein &Uuml;bersichtsformular zur Verwaltung der Mitarbeiter<\/li>\n<li>ein &Uuml;bersichtsformular zur Verwaltung der Ger&auml;te<\/li>\n<\/ul>\n<p>Das waren die grundlegenden Formulare. Dar&uuml;ber hinaus wollen wir noch die M&ouml;glichkeit einbauen, die Mitarbeiter aufzulisten, die an einem bestimmten Ger&auml;t geschult wurden sowie die Ger&auml;te anzugeben, an denen ein bestimmter Mitarbeiter geschult wurde.<\/p>\n<p>Dazu k&ouml;nnen wir nat&uuml;rlich die Detailformulare zum Anlegen und Bearbeiten der Mitarbeiter und Ger&auml;te nutzen. Wir w&uuml;rden dann in einem Unterformular des Formulars zur Anzeige der Mitarbeiter die Ger&auml;te ausgeben, f&uuml;r deren Bedienung er geschult wurde und umgekehrt. Wir k&ouml;nnen die Verkn&uuml;pfungsinformationen also grunds&auml;tzlich in den grundlegenden Formularen unterbringen, indem wir entsprechende Unterformulare hinzuf&uuml;gen.<\/p>\n<h2>&Uuml;bersichtsformular f&uuml;r die Mitarbeiter<\/h2>\n<p>Das erste &Uuml;bersichtsformular soll die Mitarbeiter anzeigen sowie Schaltfl&auml;chen zum Hinzuf&uuml;gen eines neuen Mitarbeiters, zum Bearbeiten und zum L&ouml;schen des aktuell markierten Mitarbeiters bereitstellen. Offen ist noch, wie wir die Liste der Mitarbeiter in das Formular integrieren. Hier verwendet man &uuml;blicherweise ein Unterformular in der Datenblattansicht oder ein Listenfeld. Da wir die Mitarbeiter in der &Uuml;bersicht nicht bearbeiten wollen, w&auml;hlen wir das Listenfeld.<\/p>\n<p>Also erstellen wir ein neues Formular namens <b>frmMitarbeiterUebersicht <\/b>in der Entwurfsansicht. Diesem f&uuml;gen wir ein Listenfeld namens <b>lstMitarbeiter <\/b>hinzu. F&uuml;r das Listenfeld stellen wir als Datensatzherkunft eine Abfrage ein, welche die Daten der Tabelle <b>tblMitarbeiter <\/b>enth&auml;lt und deren Entwurf wie in Bild 1 aussieht.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_532_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_532_001.png\" alt=\"Datensatzherkunft des Listenfeldes f&uuml;r die Mitarbeiter\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Datensatzherkunft des Listenfeldes f&uuml;r die Mitarbeiter<\/p>\n<p>Die Eigenschaft <b>Spaltenanzahl <\/b>stellen wir auf <b>2 <\/b>ein und <b>Spaltenbreiten <\/b>auf <b>0cm<\/b>. Dies blendet die erste Spalte mit dem Prim&auml;rschl&uuml;sselwert aus und zeigt nur die Mitarbeiter im Format <b>Nachname, Vorname <\/b>an.<\/p>\n<h2>Steuerelemente anordnen<\/h2>\n<p>Das Listenfeld <b>lstMitarbeiter<\/b> ordnen wir wie in Bild 2 an. Darunter platzieren wir die drei Schaltfl&auml;chen <b>Neu<\/b>, <b>Bearbeiten <\/b>und <b>L&ouml;schen<\/b>.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_532_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_532_002.png\" alt=\"Entwurf des Formulars frmMitarbeiterUebersicht\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Entwurf des Formulars frmMitarbeiterUebersicht<\/p>\n<p>Au&szlig;erdem legen wir f&uuml;r die Steuerelemente verschiedene Werte f&uuml;r die Eigenschaften <b>Horizontaler Anker <\/b>und <b>Vertikaler Anker <\/b>fest. F&uuml;r das Listenfeld erhalten beide Eigenschaften den Wert <b>Beide<\/b>.<\/p>\n<p>F&uuml;r die Schaltfl&auml;chen stellen wir f&uuml;r <b>Vertikaler Anker <\/b>den Wert <b>Unten <\/b>ein, damit diese beim Vergr&ouml;&szlig;ern der H&ouml;he des Formulars am unteren Rand verbleiben und nicht vom vergr&ouml;&szlig;erten Listenfeld &uuml;berdeckt werden.<\/p>\n<p>F&uuml;r das Bezeichnungsfeld des Listenfeldes m&uuml;ssen wir den Wert von <b>Vertikaler Anker<\/b>, der automatisch auf <b>Unten <\/b>eingestellt wurde, wieder den Wert <b>Oben <\/b>festlegen und <b>Horizontaler Anker <\/b>auf <b>Links<\/b>.<\/p>\n<p>Au&szlig;erdem stellen wir f&uuml;r das Formular die Eigenschaften <b>Navigationsschaltfl&auml;chen<\/b>, <b>Datensatzmarkierer<\/b>, <b>Trennlinien <\/b>und <b>Bildlaufleisten <\/b>auf den Wert <b>Nein <\/b>ein sowie die Eigenschaft <b>Automatisch zentrieren <\/b>auf <b>Ja<\/b>.<\/p>\n<p>Das Formular sieht nun in der Formularansicht wie in Bild 3 aus. Allerdings ist das Listenfeld nat&uuml;rlich noch leer.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_532_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_532_003.png\" alt=\"Das Formular frmMitarbeiterUebersicht, hier noch ohne Daten\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Das Formular frmMitarbeiterUebersicht, hier noch ohne Daten<\/p>\n<h2>Detailformular f&uuml;r die Mitarbeiter anlegen<\/h2>\n<p>Damit wir neue Mitarbeiter anlegen k&ouml;nnen, f&uuml;gen wir der Datenbank ein weiteres Formular namens <b>frmMitarbeiterDetail <\/b>hinzu. Dieses verwendet als Datensatzquelle die Tabelle <b>tblMitarbeiter<\/b>. Aus dieser ziehen wir aus der Feldliste alle Felder in den Detailbereich des Formularentwurfs. Auch f&uuml;r dieses Formular stellen wir die Eigenschaft <b>Automatisch zentrieren <\/b>auf den Wert <b>Ja <\/b>ein.<\/p>\n<p>Schlie&szlig;lich f&uuml;gen wir noch eine Schaltfl&auml;che namens <b>cmdOK <\/b>hinzu, welche die folgende Ereignisprozedur ausl&ouml;st und so das aktuelle Formular schlie&szlig;t:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdOK_Click()\r\n     DoCmd.Close acForm, Me.Name\r\n<span style=\"color:blue;\">End Sub<\/span> <\/pre>\n<p>Das Zwischenergebnis sieht wie in Bild 4 aus.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_532_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_532_004.png\" alt=\"Das Formular frmMitarbeiterDetail in der Entwurfsansicht\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Das Formular frmMitarbeiterDetail in der Entwurfsansicht<\/p>\n<h2>Detailformular zum Anlegen eines neuen Mitarbeiters &ouml;ffnen<\/h2>\n<p>Damit die Schaltfl&auml;che <b>Neu <\/b>des Formulars <b>frmMitarbeiterUebersicht<\/b>, der wir den Namen <b>cmdNeu <\/b>geben, das Formular <b>frmMitarbeiterDetail <\/b>zum Anlegen eines neuen Datensatzes &ouml;ffnet, hinterlegen wir die folgende Ereignisprozedur f&uuml;r diese Schaltfl&auml;che:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdNeu_Click()\r\n     DoCmd.OpenForm \"frmMitarbeiterDetail\",                             DataMode:=acFormAdd,                               WindowMode:=acDialog\r\n     Me!lstMitarbeiter.Requery\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die <b>DoCmd.OpenForm<\/b>-Anweisung &ouml;ffnet das Formular <b>frmMitarbeiterDetail<\/b>. Dabei gibt es f&uuml;r den Parameter <b>DataMode <\/b>den Wert <b>acFormAdd <\/b>an, was das Formular mit einem neuen, leeren Datensatz &ouml;ffnet.<\/p>\n<p>Der Parameter <b>WindowMode <\/b>mit dem Wert <b>acDialog <\/b>sorgt daf&uuml;r, dass das Formular als modaler Dialog ge&ouml;ffnet wird. Dadurch setzt Access die aufrufende Prozedur erst fort, wenn der Benutzer das Formular wieder schlie&szlig;t (oder unsichtbar macht).<\/p>\n<p>Das f&uuml;hrt dazu, dass die anschlie&szlig;ende <b>Requery<\/b>-Methode des Listenfeldes nach dem Anlegen eines neuen Mitarbeiters aktualisiert wird.<\/p>\n<p>Wenn wir nun das Formular <b>frmMitarbeiterDetail <\/b>schlie&szlig;en, k&ouml;nnen wir es vom Formular <b>frmMitarbeiterUebersicht <\/b>mit der Schaltfl&auml;che <b>cmdNeu <\/b>erneut &ouml;ffnen.<\/p>\n<p>Dort geben wir dann den neuen Mitarbeiter ein und schlie&szlig;en das Formular mit einem Klick auf die Schaltfl&auml;che OK. Im aufrufenden Formular <b>frmMitarbeiter-Uebersicht <\/b>erscheint dann postwendend der neue Mitarbeiter (siehe Bild 5).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_532_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_532_005.png\" alt=\"Anlegen eines neuen Mitarbeiters\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Anlegen eines neuen Mitarbeiters<\/p>\n<h2>Mitarbeiter bearbeiten<\/h2>\n<p>Um einen Mitarbeiter zu bearbeiten, haben wir die Schaltfl&auml;che <b>cmdBearbeiten <\/b>im Formular <b>frmMitarbeiterUebersicht <\/b>hinterlegt. Ein Klick auf diese l&ouml;st die Prozedur aus Listing 1 aus. Hier ermitteln wir zuerst den Prim&auml;rschl&uuml;sselwert des aktuell im Listenfeld markierten Eintrags.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdBearbeiten_Click()\r\n     <span style=\"color:blue;\">Dim <\/span>lngID<span style=\"color:blue;\"> As Long<\/span>\r\n     lngID = Nz(Me!lstMitarbeiter, 0)\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> lngID = 0<span style=\"color:blue;\"> Then<\/span>\r\n         DoCmd.OpenForm \"frmMitarbeiterDetail\", DataMode:=acFormEdit, WindowMode:=acDialog, WhereCondition:=\"MitarbeiterID = \" & lngID\r\n         Me!lstMitarbeiter.Requery\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: &Ouml;ffnen eines Mitarbeiters zum Bearbeiten<\/p>\n<p>Ist dieser <b>Null<\/b>, was der Fall ist, wenn kein Eintrag markiert ist, liefert die <b>Nz<\/b>-Funktion statt dem Wert <b>Null <\/b>den Zahlenwert <b>0 <\/b>zur&uuml;ck. Anderenfalls landet der Wert des Prim&auml;rschl&uuml;sselfeldes des markierten Eintrags in der Variablen <b>lngID<\/b>.<\/p>\n<p>Bei dem <b>OpenForm<\/b>-Aufruf &uuml;bergeben wir wieder den Namen des zu &ouml;ffnenden Formulars. Diesmal soll das Formular den aktuell markierten Datensatz anzeigen statt eines neuen &#8211; das geben wir mit dem Wert <b>acFormEdit <\/b>f&uuml;r den Parameter <b>DataMode <\/b>an.<\/p>\n<p>Das Formular soll wieder als modaler Dialog ge&ouml;ffnet werden. Damit es nur den angeklickten Mitarbeiter anzeigt, &uuml;bergeben wir diesen als Kriterium mit dem Parameter <b>WhereCondition <\/b>und dem Wert <b>MitarbeiterID=<ID><\/b>, wobei <b><ID> <\/b>mit der Variablen <b>lngID <\/b>gef&uuml;llt wird.<\/p>\n<p>Bevor wir das Formular <b>frmMitarbeiterDetail <\/b>um die Anzeige der Ger&auml;teeinweisungen in einem Unterformular erweitern, wollen wir erst einmal die Funktionen zum Verwalten der Mitarbeiter hinzuf&uuml;gen.<\/p>\n<h2>Mitarbeiter l&ouml;schen<\/h2>\n<p>Um einen Mitarbeiter zu l&ouml;schen, muss der Benutzer diesen markieren und dann auf die Schaltfl&auml;che <b>cmdLoeschen <\/b>klicken.<\/p>\n<p>Diese l&ouml;st dann im einfachsten Fall die Prozedur aus Listing 2 aus.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdLoeschen_Click()\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>lngID<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strBezeichnung<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     lngID = Nz(Me!lstMitarbeiter, 0)\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> lngID = 0<span style=\"color:blue;\"> Then<\/span>\r\n         On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n         db.Execute \"DELETE FROM tblMitarbeiter WHERE MitarbeiterID = \" & lngID, dbFailOnError\r\n         <span style=\"color:blue;\">If <\/span>Err.Number = 3200<span style=\"color:blue;\"> Then<\/span>\r\n             strBezeichnung = Me!lstMitarbeiter.Column(1)\r\n             <span style=\"color:blue;\">MsgBox<\/span> \"Der Mitarbeiter '\" & strBezeichnung & \"' konnte nicht gel&ouml;scht werden, da bereits Einweisungen f&uuml;r \" _\r\n                 & \"diesen hinterlegt wurden.\", vbOKOnly + vbExclamation, \"L&ouml;schen nicht m&ouml;glich\"\r\n         <span style=\"color:blue;\">Else<\/span>\r\n             Me!lstMitarbeiter.Requery\r\n         <span style=\"color:blue;\">End If<\/span>\r\n         <span style=\"color:blue;\">On Error GoTo<\/span> 0\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: L&ouml;schen eines Mitarbeiters<\/p>\n<p>Die Prozedur ermittelt den Prim&auml;rschl&uuml;sselwert des im Listenfeld markierten Mitarbeiters. Sofern dieser vorhanden ist, deaktiviert die Prozedur die eingebaute Fehlerbehandlung und f&uuml;hrt dann eine <b>DELETE<\/b>-Anweisung aus. Diese soll den Mitarbeiter mit der angegebenen <b>MitarbeiterID <\/b>aus der Tabelle <b>tblMitarbeiter <\/b>l&ouml;schen.<\/p>\n<h2>Fehler durch L&ouml;scheinschr&auml;nkung<\/h2>\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\/55000532\/\">\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\/55000532?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\/55000532\/\"\/>\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>Die Einweisung in Ger&auml;te f&uuml;r verschiedene Mitarbeiter ist ein tolles Beispiel f&uuml;r eine m:n-Beziehung. Wir werden uns in dieser Artikelreihe ansehen, wie das Datenmodell f&uuml;r die m:n-Beziehung aufgebaut wird, wie Sie die Formulare zur Verwaltung der Einweisungen gestalten und wie Sie mit Berichten verschiedene Listen ausgeben k&ouml;nnen &#8211; zum Beispiel, welcher Mitarbeiter welche Einweisungen erhalten hat oder f&uuml;r welches Ger&auml;t welcher Mitarbeiter geschult wurde. Im vorliegenden zweiten Teil schauen wir uns an, wie Sie die Daten der Tabellen der Anwendung in Formularen verwalten k&ouml;nnen.<\/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":[662021,66032021,44000014],"tags":[],"class_list":["post-55000532","post","type-post","status-publish","format-standard","hentry","category-662021","category-66032021","category-Loesungen"],"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>Ger&auml;teeinweisungen verwalten 2: Formulare - Access [basics]<\/title>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ger&auml;teeinweisungen verwalten 2: Formulare - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Die Einweisung in Ger&auml;te f&uuml;r verschiedene Mitarbeiter ist ein tolles Beispiel f&uuml;r eine m:n-Beziehung. Wir werden uns in dieser Artikelreihe ansehen, wie das Datenmodell f&uuml;r die m:n-Beziehung aufgebaut wird, wie Sie die Formulare zur Verwaltung der Einweisungen gestalten und wie Sie mit Berichten verschiedene Listen ausgeben k&ouml;nnen - zum Beispiel, welcher Mitarbeiter welche Einweisungen erhalten hat oder f&uuml;r welches Ger&auml;t welcher Mitarbeiter geschult wurde. Im vorliegenden zweiten Teil schauen wir uns an, wie Sie die Daten der Tabellen der Anwendung in Formularen verwalten k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-01T00:00:00+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_532_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=\"21\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\/Geraeteeinweisungen_verwalten_2_Formulare.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"http:\/\/vg08.met.vgwort.de\/na\/f06181355fda45a7ba3c8bd3956f535f\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html\",\"name\":\"Ger&auml;teeinweisungen verwalten 2: Formulare - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html#primaryimage\"},\"datePublished\":\"2021-06-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.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\/Geraeteeinweisungen_verwalten_2_Formulare.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Geraeteeinweisungen_verwalten_2_Formulare.html\",\"name\":\"Ger&auml;teeinweisungen verwalten 2: Formulare\"}}]},{\"@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\/55000532","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=55000532"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000532\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}