{"id":55000025,"date":"2016-02-01T00:00:00","date_gmt":"2020-03-27T19:17:37","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=25"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Fenster_mit_einfachen_Tabellendaten","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Fenster_mit_einfachen_Tabellendaten\/","title":{"rendered":"Fenster mit einfachen Tabellendaten"},"content":{"rendered":"<p><b>Unter Access haben Sie mit wenigen Mausklicks die Daten einer Tabelle in einem Formular angezeigt &#8211; Datenherkunft festlegen, Felder aus der Feldliste in das Formular zeihen, fertig war das Formular. Unter WPF ist es erstens etwas aufwendiger, und zweitens gibt es verschiedene M&ouml;glichkeiten, dies zu realisieren. In diesem Artikel schauen wir uns die einfachste Methode an, die Daten einer einfachen Tabelle in einem Fenster anzuzeigen, in den Datens&auml;tzen zu navigieren und &Auml;nderungen zu speichern.<\/b><\/p>\n<p>Wie unter Access gibt es auch unter C# einfache und schnelle Wege, ein Ziel zu erreichen &#8211; n&auml;mlich mit Unterst&uuml;tzung der Entwicklungsumgebung, meist in Form von Assistenten. Wer sp&auml;ter &Auml;nderungen am Entwurf seiner Benutzeroberfl&auml;che vornehmen m&ouml;chte, sollte jedoch wissen, was der Assistent dort im Einzelnen gezaubert hat.<\/p>\n<p>Deshalb schauen wir uns in diesem Artikel zun&auml;chst an, wie Sie die Daten einer Tabelle so schnell wie m&ouml;glich in einem Fenster anzeigen. Sp&auml;ter erfahren Sie dann, was dort alles geschehen ist und wie Sie ein solches Fenster von Hand erstellen und auch anpassen k&ouml;nnen.<\/p>\n<h2>Voraussetzung<\/h2>\n<p>Voraussetzung f&uuml;r die Beispiele dieses Artikels ist das Vorhandensein der Beispieldatenbank <b>Suedsturm.mdb<\/b>, einer Access-Datenbank. Diese sollte im Projektverzeichnis liegen und auch dem Projekt im Projektmappen-Explorer zugewiesen sein, damit dieses beim Debuggen automatisch in den <b>Debug<\/b>-Ordner kopiert wird und dort f&uuml;r den Zugriff beim Testen zur Verf&uuml;gung steht. Ist dies nicht der Fall, ziehen Sie die Datenbankdatei <b>Suedsturm.mdb <\/b>einfach aus dem Windows Explorer auf den Namen des Projekts im Projektmappen-Explorer von Visual Studio.<\/p>\n<p>Da wir im Folgenden auch &Auml;nderungen an Datens&auml;tzen vornehmen wollen, soll bei jedem neuen Debuggen die Original-Datenbank erneut in das <b>Debug<\/b>-Verzeichnis kopiert werden. Dazu stellen Sie die Eigenschaft In Ausgabeverzeichnis kopieren des Elements <b>Suedsturm.mdb <\/b>auf den Wert <b>Immer kopieren <\/b>ein (siehe Bild 1). So erscheinen gel&ouml;schte oder ge&auml;nderte beim n&auml;chsten Debuggen immer wieder im Ausgangszustand.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_001.png\" alt=\"Die Datenbank soll beim Debuggen jeweils erneut ins Debug-Verzeichnis kopiert werden.\" width=\"425\" height=\"467,4168\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Die Datenbank soll beim Debuggen jeweils erneut ins Debug-Verzeichnis kopiert werden.<\/span><\/b><\/p>\n<h2>Schnelle Datenanzeige<\/h2>\n<p>Die einfachste Disziplin beim Anzeigen von Daten unter Access war ein Formular, das die Daten in der Formularansicht anzeigt. Dazu mussten Sie einfach nur die Tabelle markieren, deren Daten Sie anzeigen wollten, und den entsprechenden Assistenten aufrufen. Im Ergebnis erhielten Sie ein neues Formular mit allen Feldern der Datenherkunft plus einer Navigationsleiste, die fest im Formular verbaut war und die Navigation zwischen den Datens&auml;tzen sowie das Anlegen und L&ouml;schen erleichterte.<\/p>\n<p>Unter WPF, soviel sei vorab verraten, gibt es keine vorgefertigten Formulare mit Navigationsleisten oder gar einem Datensatzmarkierer wie unter Access. Hier m&uuml;ssen Sie alle Elemente selbst hinzuf&uuml;gen, allerdings hilft die Entwicklungsumgebung bei dem einen oder anderen Schritt.<\/p>\n<h2>Datenquelle hinzuf&uuml;gen<\/h2>\n<p>Mit dem Men&uuml;eintrag <b>Projekt|Neue Datenquelle hinzuf&uuml;gen&#8230; <\/b>&ouml;ffnen Sie den Dialog <b>Assistent zum Konfigurieren von Datenquellen<\/b>. W&auml;hlen Sie hier im ersten Schritt den Eintrag <b>Datenbank <\/b>aus (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_002.png\" alt=\"Der erste Schritt im Assistent zum Konfigurieren von Datenquellen\" width=\"524,1595\" height=\"299,2911\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Der erste Schritt im Assistent zum Konfigurieren von Datenquellen<\/span><\/b><\/p>\n<p>Im folgenden Schritt haben Sie nur eine sehr eingeschr&auml;nkte Auswahl (siehe Bild 3). Sie brauchen also nur auf die Schaltfl&auml;che <b>Weiter <\/b>zu klicken.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_003.png\" alt=\"Auswahl der Art des Datenbankmodells\" width=\"524,1595\" height=\"302,9546\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Auswahl der Art des Datenbankmodells<\/span><\/b><\/p>\n<p>Im folgenden Dialog w&auml;hlen Sie dann die Datenverbindung aus. In unserem Fall ist dies einfach: Wir m&uuml;ssen einfach nur die bereits als m&ouml;gliche Datenquelle erkannte Access-Datenbank namens <b>Suedsturm.mdb <\/b>zu best&auml;tigen. Mit einem Klick auf das Plus-Zeichen im unteren Bereich k&ouml;nnen Sie noch die Verbindungszeichenfolge f&uuml;r diese Verbindung anzeigen lassen (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_004.png\" alt=\"Festlegen der Datenverbindung\" width=\"524,1595\" height=\"405,7234\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Festlegen der Datenverbindung<\/span><\/b><\/p>\n<p>Schlie&szlig;lich k&ouml;nnen Sie noch festlegen, dass die Verbindungszeichenfolge in der Anwendungskonfigurationsdatei gespeichert wird (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_005.png\" alt=\"Speichern der Datenverbindung\" width=\"524,1595\" height=\"257,6784\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Speichern der Datenverbindung<\/span><\/b><\/p>\n<p>Im folgenden Schritt wird es interessant. Hier analysiert der Assistent die angegebene Datenbank und stellt alle Objekte der Typen <b>Tabelle <\/b>und <b>Abfrage <\/b>zur Auswahl. Zu jedem Objekt k&ouml;nnen Sie die Felder ausw&auml;hlen, die zum <b>DataSet <\/b>hinzugef&uuml;gt werden sollen. &Uuml;berhaupt kommt hier das erste Mal der Begriff <b>DataSet<\/b> zum Einsatz (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_006.png\" alt=\"Auswahl der Tabellen\/Datenbankobjekte f&uuml;r ein DataSet\" width=\"524,1595\" height=\"405,7234\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Auswahl der Tabellen\/Datenbankobjekte f&uuml;r ein DataSet<\/span><\/b><\/p>\n<p>F&uuml;rs Erste wollen wir nun die drei Felder <b>KategorieID<\/b>, <b>Kategoriename <\/b>und <b>Beschreibung <\/b>der Tabelle <b>tblKategorien <\/b>zum <b>DataSet <\/b>hinzuf&uuml;gen. Dieses <b>DataSet <\/b>wollen wir dann unter dem Namen <b>dsTblKategorien <\/b>speichern.<\/p>\n<p>Was ist nun geschehen Der Assistent hat nicht nur einen neuen Eintrag zum Bereich <b>Datenquellen <\/b>hinzugef&uuml;gt, sondern Sie finden auch im Projektmappen-Explorer ein neues Element. Dieses hei&szlig;t <b>dsTblKategorien.xsd <\/b>und wird in Visual Studio grafisch wie in Bild 7 dargestellt. Dort finden Sie oben ein Objekt f&uuml;r die einzige Tabelle des <b>DataSet<\/b>-Objekts sowie ein weiteres namens <b>tblKategorienTableAdapter<\/b>, das die beiden Methoden <b>Fill <\/b>und <b>GetData() <\/b>anzeigt. Die untergeordneten Objekte enthalten, kurz gesagt, eine Menge automatisch generierten C#-Codes.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_008.png\" alt=\"Neue Objekte im Projektmappen-Explorer\" width=\"700\" height=\"352,6718\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Neue Objekte im Projektmappen-Explorer<\/span><\/b><\/p>\n<p>Das Ergebnis der Auswahl der Verbindungszeichenfolge landet &uuml;brigens in der Datei <b>Settings.settings <\/b>(siehe Bild 8). Wenn Sie die Verbindungszeichenfolge also entfernen m&ouml;chten, m&uuml;ssen Sie also hier Hand anlegen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_012.png\" alt=\"Die Verbindungszeichenfolge wird im Bereich Settings.settings gespeichert.\" width=\"700\" height=\"212,1212\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Die Verbindungszeichenfolge wird im Bereich Settings.settings gespeichert.<\/span><\/b><\/p>\n<p>Nach Abschluss des Assistenten finden Sie au&szlig;erdem die neue Datenquelle im Bereich <b>Datenquellen<\/b> von Visual Studio vor (siehe Bild 9).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_007.png\" alt=\"Die neue Datenquelle im Bereich Datenquellen von Visual Studio\" width=\"424,3195\" height=\"163,8751\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Die neue Datenquelle im Bereich Datenquellen von Visual Studio<\/span><\/b><\/p>\n<h2>Felder zum Fenster hinzuf&uuml;gen<\/h2>\n<p>Mit den erzeugten Elementen k&ouml;nnen wir nun schon eine Menge erledigen. Der erste Schritt ist, dass Sie ein neues Fenster namens <b>TabelleInFenster.xaml<\/b> anlegen (Men&uuml;punkt <b>Projekt|Fenster hinzuf&uuml;gen<\/b>). Das Fenster ist nun noch leer. Nun aktivieren Sie den Bereich <b>Ansicht|Weitere Fenster|Datenquellen <\/b>beziehungsweise Tastenkombination <b>Umschalt + Alt + D<\/b> (siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_010.png\" alt=\"Die Datenquellen und das noch leere Fenster\" width=\"500\" height=\"403,3614\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Die Datenquellen und das noch leere Fenster<\/span><\/b><\/p>\n<p>Hier haben Sie eine Reihe von M&ouml;glichkeiten. Die erste ist, einfach das Objekt <b>tblKategorien <\/b>in das Fenster zu ziehen. Dies w&uuml;rde ein <b>DataGrid<\/b>-Steuerelement zum Fenster hinzuf&uuml;gen, das die drei Felder der Tabelle <b>tblKategorien <\/b>anzeigt. Dies behandeln wir allerdings in einem weiteren Artikel &#8211; hier wollen wir uns um die Detailansicht k&uuml;mmern.<\/p>\n<p>Dazu ziehen Sie die drei Felder <b>KategorieID<\/b>, <b>Kategoriename <\/b>und <b>Beschreibung <\/b>einzeln in den Entwurf des Fensters, sodass sein Inhalt etwa wie in Bild 11 aussieht. Was ist nun geschehen<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_01\/pic_25_013.png\" alt=\"Fenster mit Steuerelementen\" width=\"425\" height=\"188,341\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Fenster mit Steuerelementen<\/span><\/b><\/p>\n<ul>\n<li>Visual Studio hat dem <b>.xaml<\/b>-Code eine Verbindung zum soeben erstellen und gespeicherten DataSet <b>dsTblKategorien <\/b>sowie eine <b>CollectionViewSource<\/b>, deren Funktion wir weiter unten erl&auml;utern (siehe Listing 1).<\/li>\n<pre>    &lt;Window.Resources&gt;\r\n         &lt;WPFUndAdoNet:dsTblKategorien x:Key=\"dsTblKategorien\"\/&gt;\r\n         &lt;CollectionViewSource x:Key=\"tblKategorienViewSource\" \r\n             Source=\"{Binding tblKategorien, Source={StaticResource dsTblKategorien}}\"\/&gt;\r\n     &lt;\/Window.Resources&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Ressourcen-Informationen durch Hinzuf&uuml;gen des ersten Steuerelements zum Fenster<\/span><\/b><\/p>\n<li>Das <b>Window<\/b>-Element wurde um das Ereignisattribut <b>Loaded <\/b>erweitert: <b><Window ... Loaded=\"Window_Loaded\"><\/b>. Passend dazu wurde in der Datei <b>TabelleInFenster.xaml.cs <\/b>eine entsprechende Methode angelegt, die beim Eintreten des Ereignisses ausgel&ouml;st wird.<\/li>\n<li>Au&szlig;erdem wurden nat&uuml;rlich die drei <b>TextBox<\/b>-Steuerelemente plus entsprechender <b>Label<\/b>-Elemente angelegt &#8211; allerdings jedes in einem eigenen <b>Grid<\/b>-Konstrukt, die keine vern&uuml;nftige Ausrichtung erlaubt. Dies passen wir noch an.<\/li>\n<\/ul>\n<h2>Steuerelemente organisieren<\/h2>\n<p>Schauen wir uns erst die Steuerelemente und die <b>Grid<\/b>-Elemente an, in denen diese angelegt wurden. Alle wurden mit dem Attribut <b>DataContext=&#8221;{StaticResource tblKategorienViewSource}&#8221; <\/b>ausgestattet. Es reicht, wenn wir dieses einmal dem umschlie&szlig;enden <b>Grid<\/b>-Element zuweisen.<\/p>\n<p>Dann stellen wir das &uuml;bergeordnete <b>Grid<\/b>-Steuerelement auf drei Zeilen und zwei Spalten ein. Die &uuml;brigen <b>Grid<\/b>-Elemente samt <b>Grid.ColumnDefinitions<\/b>-, <b>ColumnDefinition<\/b>-, <b>Grid.RowDefinitions<\/b>&#8211; und <b>RowDefinition<\/b>-Elementen l&ouml;schen wir.<\/p>\n<p>Die verbleibenden <b>Label<\/b>&#8211; und <b>TextBox<\/b>-Steuerelemente f&uuml;gen wir in die <b>Grid<\/b>-Zellen ein, indem wir die Attribute <b>Grid.Column <\/b>und <b>Grid.Row <\/b>entsprechend mit den nullbasierten Indizes der Zellen auszeichnen. Au&szlig;erdem passen wir das Layout noch an. Das Ergebnis im Code sehen Sie in Listing 2.<\/p>\n<pre>&lt;Window xmlns:WPFUndAdoNet=\"clr-namespace:WPFUndAdoNet\" x:Class=\"WPFUndAdoNet.Properties.TabelleInFenster\"\r\n         mc:Ignorable=\"d\" Title=\"TabelleInFenster\" Height=\"175\" Width=\"412\" Loaded=\"Window_Loaded\"&gt;\r\n     &lt;Window.Resources&gt;\r\n         &lt;WPFUndAdoNet:dsTblKategorien x:Key=\"dsTblKategorien\"\/&gt;\r\n         &lt;CollectionViewSource x:Key=\"tblKategorienViewSource\" Source=\"{Binding tblKategorien, \r\n             Source={StaticResource dsTblKategorien}}\"\/&gt;\r\n     &lt;\/Window.Resources&gt;\r\n     &lt;Grid DataContext=\"{StaticResource tblKategorienViewSource}\"&gt;\r\n         &lt;Grid.RowDefinitions&gt;\r\n             &lt;RowDefinition Height=\"30\"\/&gt;\r\n             &lt;RowDefinition Height=\"30\"\/&gt;\r\n             &lt;RowDefinition Height=\"30\"\/&gt;\r\n         &lt;\/Grid.RowDefinitions&gt;\r\n         &lt;Grid.ColumnDefinitions&gt;\r\n             &lt;ColumnDefinition Width=\"110\"\/&gt;\r\n             &lt;ColumnDefinition\/&gt;\r\n         &lt;\/Grid.ColumnDefinitions&gt;\r\n         &lt;Label Content=\"Kategorie ID:\" Grid.Column=\"0\" HorizontalAlignment=\"Left\" Grid.Row=\"0\" \r\n             VerticalAlignment=\"Center\"\/&gt;\r\n         &lt;TextBox x:Name=\"kategorieIDTextBox\" Grid.Column=\"1\" HorizontalAlignment=\"Stretch\" Height=\"23\" Margin=\"3,3,3,3\" \r\n             Grid.Row=\"0\" Text=\"{Binding KategorieID, Mode=TwoWay, NotifyOnValidationError=true, \r\n             ValidatesOnExceptions=true}\" VerticalAlignment=\"Center\" \/&gt;\r\n         &lt;Label Content=\"Kategoriename:\" Grid.Column=\"0\" HorizontalAlignment=\"Left\" Grid.Row=\"1\" \r\n             VerticalAlignment=\"Center\"\/&gt;\r\n         &lt;TextBox x:Name=\"kategorienameTextBox\" Grid.Column=\"1\" HorizontalAlignment=\"Stretch\" Height=\"23\" Margin=\"3,3,3,3\"\r\n             Grid.Row=\"1\" Text=\"{Binding Kategoriename, Mode=TwoWay, NotifyOnValidationError=true, \r\n             ValidatesOnExceptions=true}\" VerticalAlignment=\"Center\"\/&gt;\r\n         &lt;Label Content=\"Beschreibung:\" Grid.Column=\"0\" HorizontalAlignment=\"Left\" Grid.Row=\"2\" \r\n             VerticalAlignment=\"Center\"\/&gt;\r\n         &lt;TextBox x:Name=\"beschreibungTextBox\" Grid.Column=\"1\" HorizontalAlignment=\"Stretch\" Height=\"23\" Margin=\"3,3,3,3\" \r\n             Grid.Row=\"2\" Text=\"{Binding Beschreibung, Mode=TwoWay, NotifyOnValidationError=true, \r\n             ValidatesOnExceptions=true}\" VerticalAlignment=\"Center\"\/&gt;\r\n     &lt;\/Grid&gt;\r\n&lt;\/Window&gt;<\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 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:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000025\/\">\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=\"\/data\/wp\/v2\/posts\/55000025?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<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000025\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"349bc4cffe\"\/>\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>Unter Access haben Sie mit wenigen Mausklicks die Daten einer Tabelle in einem Formular angezeigt &#8211; Datenherkunft festlegen, Felder aus der Feldliste in das Formular zeihen, fertig war das Formular. Unter WPF ist es erstens etwas aufwendiger, und zweitens gibt es verschiedene M&ouml;glichkeiten, dies zu realisieren. In diesem Artikel schauen wir uns die einfachste Methode an, die Daten einer einfachen Tabelle in einem Fenster anzuzeigen, in den Datens&auml;tzen zu navigieren und &Auml;nderungen zu speichern.<\/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":[66012016,662016,44000002,44000025,44000007],"tags":[],"yst_prominent_words":[66062023,66062046],"class_list":["post-55000025","post","type-post","status-publish","format-standard","hentry","category-66012016","category-662016","category-Benutzeroberflaeche_mit_WPF","category-VBAProgrammierung","category-Von_Access_zu_WPF"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000025"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000025\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000025"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}