{"id":55000464,"date":"2007-06-01T00:00:00","date_gmt":"2021-02-11T21:15:51","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=464"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Datenblattansicht_aufgebohrt","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/","title":{"rendered":"Datenblattansicht aufgebohrt"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Die Datenblattansicht von Access kennt jeder Access-Benutzer: Viele finden diese sogar so praktisch, dass sie ihre Daten direkt in die Datenblattansicht von Tabellen oder Abfragen eingeben. Dies erledigen Sie jedoch besser in Formularen, was allerdings kein Grund ist, auf die Vorz&uuml;ge der Datenblattansicht zu verzichten. Eher im Gegenteil: Mit ein wenig Finetuning holen Sie alles aus der Datenblattansicht heraus.<\/b><\/p>\n<\/p><\/div>\n<div class=\"story\">\n<p>Neben Tabellen und Abfragen lassen sich auch Formulare in der Datenblattansicht anzeigen. Dies realisieren Sie ganz einfach &uuml;ber den passenden Wert der Eigenschaft <b>Standardansicht <\/b>des Formulars. Am schnellsten erstellen Sie ein Formular auf Basis einer Tabelle oder Abfrage in der Datenblattansicht, indem Sie im Datenbankfenster unter <b>Formulare <\/b>auf <b>Neu <\/b>klicken, im nun erscheinenden Dialog die Herkunftstabelle oder -abfrage ausw&auml;hlen und doppelt auf den Eintrag <b>AutoFormular: Datenblatt <\/b>klicken (siehe Bild 1).<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic001_opt.jpeg\" alt=\"pic001.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 1: Am schnellsten erzeugen Sie ein Formular in der Datenblattansicht mit diesem Dialog.<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Das Ergebnis &uuml;berrascht nicht besonders: Es erscheint ein Formular, das genau so aussieht wie die Datenblattansicht der zugrunde liegenden Tabelle oder Abfrage.<\/p>\n<p><b>Datenblattansicht anpassen<\/b><\/p>\n<p>Das per &quot;Schnellschuss&quot; erzeugte Formular &uuml;bernimmt die Feldnamen der Artikel-Tabelle als Spalten&uuml;berschriften. Dies ist nicht unbedingt gew&uuml;nscht und kann beispielsweise auf die folgenden beiden Arten ge&auml;ndert werden:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Wenn das Formular wie in diesem Fall bereits fertig gestellt ist, k&ouml;nnen Sie in der Entwurfsansicht die Beschriftungen der Felder anpassen. Wenn Sie wie in Bild 2 die Beschriftung des Prim&auml;rschl&uuml;sselfeldes von <b>ArtikelID <\/b>auf <b>ID <\/b>&auml;ndern, zeigt die Datenblattansicht anschlie&szlig;end die &uuml;berschrift <b>ID <\/b>an.<\/li>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic002_opt.jpeg\" alt=\"pic002.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 2: Entwurfsansicht eines Formulars mit angepasstem Beschriftungsfeld<\/span><\/b><\/p>\n<\/p><\/div>\n<li class=\"aufz-hlung\">Falls Sie das Formular neu erstellen, k&ouml;nnen Sie im Entwurf der zugrunde liegenden Tabelle die Eigenschaft <b>Beschriftung <\/b>des gew&uuml;nschten Feldes verwenden, um die passende Beschriftung anzugeben. Diese wird dann sowohl in der Datenblattansicht der Tabelle als auch automatisch beim Neuanlegen des Textfeldes im Formular als Beschriftung eingesetzt.<\/li>\n<\/ul>\n<p><b>Steuerelemente in der Datenblattansicht<\/b><\/p>\n<p>Die Datenblattansicht eines Formulars erlaubt gegen&uuml;ber der Formular- und der Endlosansicht kein Anlegen weiterer Steuerelemente.<\/p>\n<p>Das ist kein besonderer Nachteil: Erstellen Sie einfach ein neues Formular, f&uuml;gen Sie das Formular in der Datenblattansicht als Unterformular hinzu und platzieren Sie die notwendigen Steuerelemente im Hauptformular.<\/p>\n<p>Mit einem solchen Hauptformular sorgen Sie au&szlig;erdem f&uuml;r die in der Datenblattansicht von Formularen g&auml;nzlich fehlenden R&auml;nder.<\/p>\n<p>Wenn Sie eine einfache Schaltfl&auml;che zum Schlie&szlig;en des Formulars und einen kleinen Rand hinzuf&uuml;gen, sieht das Formular beispielsweise wie in Bild 3 aus.<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic003_opt.jpeg\" alt=\"pic003.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 3: Ein Formular in der Datenblattansicht als Unterformular eines weiteren Formulars<\/span><\/b><\/p>\n<\/p><\/div>\n<p>&uuml;blicherweise stellt Access den Inhalt eines Datenblatts in der Schriftgr&ouml;&szlig;e 10 dar. Diesen Wert k&ouml;nnen Sie auf zwei Arten &auml;ndern:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Der <b>Optionen<\/b>-Dialog h&auml;lt auf der Registerseite Datenblatt unter Standardschriftart eine Eigenschaft namens Schriftgrad bereit, mit dem Sie die Schriftart f&uuml;r die Datenblattansicht vorgeben k&ouml;nnen.<\/li>\n<li class=\"aufz-hlung\">Wenn Sie eine hiervon abweichende Schriftgr&ouml;&szlig;e verwenden m&ouml;chten, m&uuml;ssen Sie das Formular einzeln &ouml;ffnen (nicht als Unterformular) und aus dem Kontextmen&uuml; der Titelleiste den Eintrag <b>Zeichen<\/b> ausw&auml;hlen (siehe Bild 4). Das Gleiche funktioniert &uuml;brigens auch in der Datenblattansicht von Tabellen und Abfragen.<\/li>\n<\/ul>\n<div class=\"abbildung\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic004_opt.jpeg\" alt=\"pic004.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 4: Einstellen der Zeichen-Eigenschaften eines Formulars in der <br \/>Datenblattansicht<\/span><\/b><\/p>\n<\/p><\/div>\n<p><b>Daten in der Datenblattansicht <br \/>schreibgesch&uuml;tzt anzeigen<\/b><\/p>\n<p>Listenfelder setzt man in der Regel ein, wenn man die darin enthaltenen Daten nicht bearbeiten muss.<\/p>\n<p>Das bedeutet nicht, dass Sie die Datenblattansicht nur verwenden k&ouml;nnen, wenn der Benutzer auch die Daten bearbeiten k&ouml;nnen soll &#8211; im Gegenteil: Sie k&ouml;nnen auch die Daten in der Datenblattansicht vor unbeabsichtigtem Bearbeiten sch&uuml;tzen.<\/p>\n<p>Dazu stellen Sie einfach die Eigenschaft <b>Recordsettyp <\/b>auf den Wert <b>Snapshot <\/b>ein.<\/p>\n<p>Etwas st&ouml;rend wirkt allerdings, dass beim Klicken in eines der Textfelder eines Datensatzes die Einf&uuml;gemarke erscheint und suggeriert, dass man die enthaltenen Daten doch bearbeiten kann.<\/p>\n<p>Das l&auml;sst sich leicht verhindern: Sie m&uuml;ssen dazu einfach nur den kompletten Datensatz markieren. Die notwendige Anweisung lautet:<\/p>\n<pre>DoCmd.RunCommand acCmdSelectRecord<\/pre>\n<p>Dies wirkt sich so aus, als wenn Sie mit der Maus auf den Datensatzmarkierer am linken Rand klicken: Der komplette Datensatz wird mit einem schwarzen Hintergrund versehen und die blinkende Einf&uuml;gemarke wird ausgeblendet (siehe Bild 5).<\/p>\n<div class=\"abbildung\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic005_opt.jpeg\" alt=\"pic005.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 5: Eine einfache DoCmd-Methode markiert den aktuellen Datensatz.<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Nun m&uuml;ssen Sie nur noch daf&uuml;r sorgen, dass diese Anweisung auch beim Klick auf jedes der Steuerelemente ausgef&uuml;hrt wird.<\/p>\n<p>Sie k&ouml;nnten jetzt f&uuml;r jedes Steuerelement eine passende Ereignisprozedur anlegen und den Befehl dort einf&uuml;gen, aber das ist erstens nicht besonders elegant und zweitens eine ziemliche Flei&szlig;arbeit.<\/p>\n<p><b>Steuerelementereignisse abfangen<\/b><\/p>\n<p>Also bauen Sie sich zwei Klassen, mit denen vereinfacht Folgendes passiert: Das Formular instanziert beim &ouml;ffnen die erste Klasse <b>clsDataSheetForm<\/b> (s. Listing 1) und weist ihrem Parameter <b>DataSheetForm<\/b> einen Verweis auf sich selbst zu.<\/p>\n<div class=\"abbildung\">\n<table>\n<tbody>\n<tr>\n<td>\n<p class=\"kastentabelleheader\">Listing 1: Die Klasse clsDataSheetForm<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<pre>Option Compare Database<\/pre>\n<pre>Option Explicit<\/pre>\n<pre>Private mForm As Access.Form<\/pre>\n<pre>Private colControls As Collection<\/pre>\n<pre>Dim mDataSheetControl As clsDataSheetControl<\/pre>\n<pre>Public Property Set DataSheetForm(frm As Form)<br \/><\/pre>\n<pre>     Dim ctl As Control<\/pre>\n<pre>     Set mForm = frm<\/pre>\n<pre>     Set colControls = New Collection<\/pre>\n<pre>    <br \/> For Each ctl In mForm.Controls<\/pre>\n<pre>    <br \/> Select Case ctl.ControlType<\/pre>\n<pre>    <br \/> Case acTextBox, acComboBox, acListBox<\/pre>\n<pre>     Set mDataSheetControl = New clsDataSheetControl<\/pre>\n<pre>     Set mDataSheetControl.DataSheetControl = ctl<\/pre>\n<pre>     colControls.Add mDataSheetControl<\/pre>\n<pre>    <br \/> End Select<\/pre>\n<pre>    <br \/> Next ctl<\/pre>\n<pre><br \/>End Property<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>Die Klasse verwendet diesen Verweis, um alle Steuerelemente des Formulars zu durchlaufen, die den Typ Textfeld, Kombinationsfeld oder Listenfeld besitzen. Hier kommt die zweite Klasse <b>clsDataSheetControl <\/b>ins Spiel (s. Listing 2): Die erste Klasse erzeugt f&uuml;r jedes Steuerelement ein Objekt der zweiten Klasse und f&uuml;gt ihm &uuml;ber die Eigenschaft <b>DataSheetControl <\/b>einen Verweis auf das jeweilige Steuerelement zu.<\/p>\n<div class=\"abbildung\">\n<table>\n<tbody>\n<tr>\n<td>\n<p class=\"kastentabelleheader\">Listing 2: Die Klasse clsDataSheetControl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<pre>Option Compare Database<\/pre>\n<pre>Option Explicit<\/pre>\n<pre>Private WithEvents mTextBox As Access.TextBox<\/pre>\n<pre>Private WithEvents mListBox As Access.ListBox<\/pre>\n<pre>Private WithEvents mComboBox As Access.ComboBox<\/pre>\n<pre>Public Property Set DataSheetControl(ctl As Control)<br \/><\/pre>\n<pre>     Select Case ctl.ControlType<br \/><\/pre>\n<pre>         Case acTextBox<br \/><\/pre>\n<pre>             Set mTextBox = ctl<\/pre>\n<pre>             mTextBox.OnMouseDown = &quot;[Event Procedure]&quot;<\/pre>\n<pre>             mTextBox.OnDblClick = &quot;[Event Procedure]&quot;<\/pre>\n<pre>        <br \/> Case acComboBox<br \/><\/pre>\n<pre>             Set mComboBox = ctl<\/pre>\n<pre>             mComboBox.OnMouseDown = &quot;[Event Procedure]&quot;<\/pre>\n<pre>             mComboBox.OnDblClick = &quot;[Event Procedure]&quot;<\/pre>\n<pre>        <br \/> Case acListBox<br \/><\/pre>\n<pre>             Set mListBox = ctl<\/pre>\n<pre>             mListBox.OnMouseDown = &quot;[Event Procedure]&quot;<\/pre>\n<pre>             mListBox.OnDblClick = &quot;[Event Procedure]&quot;<\/pre>\n<pre>    <br \/> End Select<\/pre>\n<pre><br \/>End Property<\/pre>\n<pre>Private Sub mComboBox_DblClick(Cancel As Integer)<\/pre>\n<pre>     ZeileMarkieren<\/pre>\n<pre>End Sub<\/pre>\n<pre>Private Sub mComboBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<\/pre>\n<pre>     ZeileMarkieren<\/pre>\n<pre>End Sub<\/pre>\n<pre>Private Sub mListBox_DblClick(Cancel As Integer)<\/pre>\n<pre>     ZeileMarkieren<\/pre>\n<pre>End Sub<\/pre>\n<pre>Private Sub mListBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<\/pre>\n<pre>     ZeileMarkieren<\/pre>\n<pre>End Sub<\/pre>\n<pre>Private Sub mTextBox_DblClick(Cancel As Integer)<\/pre>\n<pre>     ZeileMarkieren<\/pre>\n<pre>End Sub<\/pre>\n<pre>Private Sub mTextBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<\/pre>\n<pre>     ZeileMarkieren<\/pre>\n<pre>End Sub<\/pre>\n<pre>Private Sub ZeileMarkieren()<\/pre>\n<pre>     DoCmd.RunCommand acCmdSelectRecord<\/pre>\n<pre>End Sub<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p><!--30percent--><\/p>\n<p>Die dabei verwendete <b>Property Set<\/b>-Methode pr&uuml;ft wiederum, welchen Typ das Steuerelement hat, und weist es entsprechend einer der Objektvariablen <b>mTextBox<\/b>, <b>mComboBox <\/b>oder <b>mListBox <\/b>zu.<\/p>\n<p>Mit dem Verweis auf dieses Steuerelement kann die Klasse nun eine Menge anstellen &#8211; zum Beispiel kann es den Eigenschaften des Steuerelements Werte hinzuf&uuml;gen.<\/p>\n<p>In diesem Fall sollen zwei Ereigniseigenschaften mit dem Wert <b>[Event Procedure] <\/b>gef&uuml;llt werden &#8211; n&auml;mlich die Eigenschaften <b>OnMouseDown <\/b>und <b>OnDblClick<\/b>.<\/p>\n<p>Dies entspricht exakt der Vorgehensweise, wenn Sie den Ereigniseigenschaften im Eigenschaftsfeld den Wert <b>[Ereignisprozedur] <\/b>zuweisen &#8211; nur eben per Code und vollautomatisch.<\/p>\n<p>Die Frage ist nun: Wohin mit den passenden Ereignisprozeduren Die kann man ja nicht einfach nach dem &ouml;ffnen zum Klassenmodul des Formulars hinzuf&uuml;gen, weil dies einen Wechsel in die Entwurfsansicht bedeuten w&uuml;rde.<\/p>\n<p>Aber das ist auch gar nicht n&ouml;tig: Immerhin sind die drei Objektvariablen <b>mTextBox<\/b>, <b>mComboBox <\/b>und <b>mListBox <\/b>bereits als <b>WithEvents <\/b>deklariert, was bedeutet, dass sie die Ereignisse, die f&uuml;r das Objekt, auf das Sie verweisen, ausgel&ouml;st werden, abfangen k&ouml;nnen.<\/p>\n<p>Und um dies zu tun, legen Sie einfach die passenden Ereignisprozeduren f&uuml;r die &quot;Platzhalter&quot;-Steuerelementobjekte in der Klasse <b>clsDataSheetControls <\/b>an.<\/p>\n<p>Vereinfachen k&ouml;nnen Sie sich diese Arbeit, indem Sie die durch das Schl&uuml;sselwort <b>WithEvents <\/b>im linken Kombinationsfeld des VBA-Codefensters verf&uuml;gbaren Elemente ausw&auml;hlen und die passenden Ereignisse aus dem rechten Kombinationsfeld erg&auml;nzen (siehe Bild 6).<\/p>\n<div class=\"abbildung\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic006_opt.jpeg\" alt=\"pic006.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 6: Anlegen von Ereignisprozeduren per Kombinationsfeld<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Fehlt noch ein Schritt, damit das ganze Konstrukt auch wirklich funktioniert: Die Instanz der Klasse <b>clsDataSheetControl <\/b>mit dem Verweis auf das Steuerelement und den Ereignisprozeduren muss noch irgendwie gespeichert werden, damit es nach dem Durchlaufen der Steuerelemente nicht im Nirwana verschwindet.<\/p>\n<p>Und dazu brauchen Sie die Auflistung <b>colControls<\/b>: Mit der <b>Add<\/b>-Methode speichern Sie darin alle auf die oben beschriebene Art erzeugten Steuerelement-Wrapper-Objekte.<\/p>\n<p><b>Wiederverwendbarkeit<\/b><\/p>\n<p>Nun steckt in den beiden oben beschriebenen Klassen eine Menge Hirnschmalz, das aber nicht umsonst investiert wurde:<\/p>\n<p>Erstens k&ouml;nnen Sie als Leser diese Klasse f&uuml;r Ihre Formulare in der Datenblattansicht weiterverwenden, und zwar f&uuml;r alle, denen Sie die beschriebene Funktionalit&auml;t zuweisen m&ouml;chten.<\/p>\n<p>Sie brauchen einfach nur die beiden Klassen zu Ihrem VBA-Projekt hinzuzuf&uuml;gen und im Formular eine Ereignisprozedur anzulegen, die beim &ouml;ffnen ausgel&ouml;st wird und die folgenden Zeilen enth&auml;lt:<\/p>\n<pre>Dim objDataSheetForm As New clsDataSheetForm\r\nPrivate Sub Form_Open(Cancel As Integer)\r\n Set objDataSheetForm.DataSheetForm = Me.Form\r\nEnd Sub<\/pre>\n<p>Wenn Sie das Formular nun erneut &ouml;ffnen, k&ouml;nnen Sie auf ein beliebiges Steuerelement klicken und damit die komplette Zeile markieren. Das Gleiche geschieht &uuml;brigens auch bei einem Doppelklick.<\/p>\n<p><b>Anpassungsm&ouml;glichkeiten von Datenbl&auml;ttern<\/b><\/p>\n<p>Ein gro&szlig;er Vorteil der Datenblattansicht gegen&uuml;ber Listenfeldern und der Endlosansicht von Formularen ist die gro&szlig;e Flexibilit&auml;t. So k&ouml;nnen Sie folgende Anpassungen vornehmen:<\/p>\n<ul>\n<li class=\"aufz-hlung\">&auml;ndern der Spaltenbreiten<\/li>\n<li class=\"aufz-hlung\">&auml;ndern der Spaltenposition<\/li>\n<li class=\"aufz-hlung\">Einfaches Anpassen der Sortierung<\/li>\n<li class=\"aufz-hlung\">Ein- und Ausblenden von Spalten<\/li>\n<li class=\"aufz-hlung\">Fixieren der ersten x Spalten, damit diese beim horizontalen Scrollen stehen bleiben<\/li>\n<\/ul>\n<p>Der einzige Nachteil hierbei ist, dass Access beispielsweise in der Runtime-Version standardm&auml;&szlig;ig keine M&ouml;glichkeit bietet, durch den Benutzer vorgenommene Einstellungen in Formularen zu speichern und beim n&auml;chsten Start wiederherzustellen.<\/p>\n<p>F&uuml;r Sie soll das jedoch kein Problem sein: R&uuml;sten Sie einfach passende Funktionen nach, mit denen Sie die Starteinstellung sowie die jeweils aktuelle Einstellung in einer Access-Tabelle speichern k&ouml;nnen.<\/p>\n<p>Speichern m&uuml;ssen Sie dabei die folgenden Eigenschaften pro Spalte:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Formularname (falls Sie die Einstellung f&uuml;r mehrere Formulare speichern)<\/li>\n<li class=\"aufz-hlung\">Feldname<\/li>\n<li class=\"aufz-hlung\">Standardbreite<\/li>\n<li class=\"aufz-hlung\">Standardposition<\/li>\n<li class=\"aufz-hlung\">Standard-Sichtbarkeit<\/li>\n<li class=\"aufz-hlung\">Standard-Fixierung<\/li>\n<li class=\"aufz-hlung\">Aktuelle Breite<\/li>\n<li class=\"aufz-hlung\">Aktuelle Position<\/li>\n<li class=\"aufz-hlung\">Sichtbarkeit<\/li>\n<li class=\"aufz-hlung\">Fixierung<\/li>\n<\/ul>\n<p>Entsprechend dieser Liste legen Sie eine passende Tabelle namens <b>tblDatenblattkonfiguration <\/b>an (siehe Bild 7). F&uuml;r die beiden Felder <b>Formularname <\/b>und <b>Feldname <\/b>legen Sie zus&auml;tzlich einen zusammengesetzten eindeutigen Index an, damit man nicht zwei Eintr&auml;ge f&uuml;r das gleiche Steuerelement speichern kann.<\/p>\n<div class=\"abbildung\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic007_opt.jpeg\" alt=\"pic007.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 7: Diese Tabelle speichert die Konfiguration von Datenblattansichten.<\/span><\/b><\/p>\n<\/p><\/div>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Datenblatteigenschaften ermitteln<\/p>\n<p>Grundlage f&uuml;r die folgende Erweiterung der obigen Klassen ist die Kenntnis der Methoden zum Ermitteln der ben&ouml;tigten Datenblatteigenschaften, bei denen es sich teilweise um die Eigenschaften der angezeigten Steuerelemente handelt:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>ColumnOrder<\/b>: liefert die Spaltenposition des Steuerelements<\/li>\n<li class=\"aufz-hlung\"><b>ColumnWidth<\/b>: liefert die Spaltenbreite des Steuerelements<\/li>\n<li class=\"aufz-hlung\"><b>ColumnHidden<\/b>: Sichtbarkeit des Steuerelements<\/li>\n<li class=\"aufz-hlung\"><b>FrozenColumns<\/b>: liefert die Anzahl der fixierten Spalten<\/li>\n<\/ul>\n<p>Wie oben erw&auml;hnt, soll die Tabelle nicht nur die aktuelle Konfiguration speichern und wiederherstellen, sondern auch die Standardkonfiguration. Das Speichern dieser Konfiguration eignet sich gut, um den Vorgang separat zu beschreiben. Die nachfolgend vorgestellte Routine starten Sie einmal vor der Inbetriebnahme der Anwendung, damit Sie sp&auml;ter den Urzustand wiederherstellen k&ouml;nnen.<\/p>\n<p>Die Routine finden Sie in Listing 3. Sie erwartet als Parameter den Namen des zu speichernden Formulars, das f&uuml;r das Einlesen der Konfiguration ge&ouml;ffnet sein muss.<\/p>\n<div class=\"abbildung\">\n<table>\n<tbody>\n<tr>\n<td>\n<p class=\"kastentabelleheader\">Listing 3: Diese Routine speichert die Konfiguration des angegebenen Formulars.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<pre>Public Sub DatenblattkonfigurationSpeichern(strForm As String)<br \/><\/pre>\n<pre>     Dim db As DAO.Database<\/pre>\n<pre>     Dim frm As Form<\/pre>\n<pre>     Dim ctl As Control<\/pre>\n<pre>    <br \/> Set db = CurrentDb<\/pre>\n<pre>     Set frm = Forms(strForm)<\/pre>\n<pre>    <br \/> db.Execute &quot;DELETE FROM tblDatenblattkonfiguration WHERE Formularname = &apos;&quot; &amp; strForm &amp; &quot;&apos;&quot;, dbFailOnError<\/pre>\n<pre>    <br \/> For Each ctl In frm.Controls<br \/><\/pre>\n<pre>         Select Case ctl.ControlType<br \/><\/pre>\n<pre>             Case acTextBox, acComboBox, acListBox<br \/><\/pre>\n<pre>                 db.Execute &quot;INSERT INTO tblDatenblattkonfiguration(Formularname, Feldname, Standardbreite, &quot; _<br \/> &amp; &quot;Standardposition, StandardSichtbar, StandardFixiert, AktuelleBreite, AktuellePosition, &quot; _<br \/> &amp; &quot;Sichtbar, Fixiert) VALUES(&apos;&quot; &amp; strForm &amp; &quot;&apos;,&apos;&quot; &amp; ctl.Name &amp; &quot;&apos;, &quot; &amp; ctl.ColumnWidth _<br \/> &amp; &quot;, &quot; &amp; ctl.ColumnOrder &amp; &quot;, &quot; &amp; BoolToString(Not ctl.ColumnHidden) &amp; &quot;, &quot; _<br \/> &amp; BoolToString(frm.FrozenColumns &gt; ctl.ColumnOrder) &amp; &quot;, &quot; &amp; ctl.ColumnWidth &amp; &quot;, &quot; _<br \/> &amp; ctl.ColumnOrder &amp; &quot;, &quot; &amp; BoolToString(Not ctl.ColumnHidden) &amp; &quot;, &quot; _<br \/> &amp; BoolToString(frm.FrozenColumns &gt; ctl.ColumnOrder) &amp; &quot;)&quot;, dbFailOnError<br \/><\/pre>\n<pre>         End Select<br \/><\/pre>\n<pre>     Next ctl<br \/><\/pre>\n<pre>End Sub<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>Vor dem Einlesen der Eigenschaften l&ouml;scht die Routine zun&auml;chst alle bisher zu diesem Formular gespeicherten Einstellungen, da diese &uuml;berschrieben werden sollen (da sich dadurch die Datenbank mit der Zeit vergr&ouml;&szlig;ert, sollten Sie diese regelm&auml;&szlig;ig komprimieren).<\/p>\n<p>Danach erzeugt sie eine Objektvariable, die auf das angegebene Formular verweist, und durchl&auml;uft per <b>For Each<\/b>-Schleife alle darin enthaltenen Steuerelemente, die den Typ Textfeld, Kombinationsfeld oder Listenfeld besitzen.<\/p>\n<p>Innerhalb dieser Schleife findet jeweils eine SQL-INSERT-Anweisung statt. Diese f&uuml;llt alle Felder der Tabelle <b>tblDatenblattkonfiguration<\/b> mit den oben aufgelisteten Eigenschaften von Formular und Steuerelement.<\/p>\n<p>Interessant ist dabei die Methode, wie die Routine den &quot;Fixiert&quot;-Zustand eines Steuerelements ermittelt: Die Eigenschaft <b>FrozenColumns<\/b> gibt ja nur die Anzahl der fixierten Spalten wieder.<\/p>\n<p>Die SQL-Anweisung pr&uuml;ft, ob die Nummer, die die aktuelle Position des Steuerelements repr&auml;sentiert, kleiner als der aktuelle Wert der Eigenschaft <b>FrozenColumns <\/b>ist.<\/p>\n<p>Der Inhalt der Tabelle sieht nach dem Einlesen der oben erstellten Datenblattansicht des Artikelformulars etwa wie in Bild 8 aus.<\/p>\n<div class=\"abbildung\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/Datenblattansicht-web-images\/pic008_opt.jpeg\" alt=\"pic008.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 8: Die gespeicherte Datenblattkonfiguration des Formulars frmArtikel_Datenblattansicht<\/span><\/b><\/p>\n<\/p><\/div>\n<p><b>Dynamisches Wiederherstellen und Speichern der Konfiguration<\/b><\/p>\n<p>Nachdem die grundlegenden Techniken zum Speichern der Datenblattkonfiguration bekannt sind, muss man nur noch passende Routinen erstellen, die beim &ouml;ffnen und Schlie&szlig;en des Formulars ausgel&ouml;st werden.<\/p>\n<p>Diese lassen sich prima in die oben vorgestellten Klassen zum Anpassen von Formularen in der Datenblattansicht einf&uuml;gen &#8211; damit f&uuml;gen Sie diesen wiederverwendbaren Klassen auch noch Funktionen zum Speichern und Wiederherstellen von Spaltenbreiten, -positionen und Co. hinzu.<\/p>\n<p>Aus Platzgr&uuml;nden k&ouml;nnen die vorgenommenen Anpassungen hier leider nicht komplett abgedruckt werden, aber Sie finden die folgenden fertigen Klassen und Module in der Beispieldatenbank zu diesem Beitrag:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Die Routine <b>KonfigurationLaden<\/b> der Klasse <b>clsDataSheetForm <\/b>l&auml;dt die aktuelle Konfiguration des Datenblatts. Sie ist als &ouml;ffentliche Methode deklariert und wird am besten beim Laden des Unterformulars aufgerufen. Das <b>Beim &ouml;ffnen<\/b>-Ereignis kommt nicht in Frage, weil das Datenblatt dort noch nicht geladen ist.<\/li>\n<li class=\"aufz-hlung\">Die Routine <b>KonfigurationSpeichern <\/b>der gleichen Klassen sichert die aktuelle Konfiguration. Auch sie ist als &ouml;ffentliche Methode deklariert und sollte im Ereignis <b>Beim Schlie&szlig;en <\/b>des Unterformulars ausgel&ouml;st werden.<\/li>\n<\/ul>\n<p>Dank dieser beiden Methoden kann der Benutzer munter &auml;nderungen am Layout vornehmen und findet diese beim n&auml;chsten &ouml;ffnen auch wieder vor.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Die Datenblattansicht erm&ouml;glicht eine ganze Reihe von Anpassungen, die sie zu einem sehr m&auml;chtigen Element zur tabellarischen Anzeige von Daten machen. Mit Access 2007 erh&auml;lt diese Ansicht standardm&auml;&szlig;ig noch weitere interessante Funktionen wie etwa einen &uuml;ber die Benutzeroberfl&auml;che definierbaren Filter. Die neue Access-Version liefert au&szlig;erdem Funktionen, mit denen Sie Steuerelemente im Formular verankern k&ouml;nnen, sodass es seine Gr&ouml;&szlig;e zusammen mit dem Formular ver&auml;ndert (Stichwort f&uuml;r alle, die schon mit Access 2007 arbeiten: horizontaler\/vertikaler Anker).<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Datenblattansicht.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/7C50A6A9-40C5-40CD-9F84-345D66B19E60\/aiu_464.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Datenblattansicht von Access kennt jeder Access-Benutzer: Viele finden diese sogar so praktisch, dass sie ihre Daten direkt in die Datenblattansicht von Tabellen oder Abfragen eingeben. Dies erledigen Sie jedoch besser in Formularen, was allerdings kein Grund ist, auf die Vorz&uuml;ge der Datenblattansicht zu verzichten. Eher im Gegenteil: Mit ein wenig Finetuning holen Sie alles aus der Datenblattansicht heraus.<\/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":[662007,66032007,44000028,44000023,44000021],"tags":[],"class_list":["post-55000464","post","type-post","status-publish","format-standard","hentry","category-662007","category-66032007","category-Ergonomie_und_Benutzeroberflaeche","category-Mit_Formularen_arbeiten","category-Tabellen_und_Datenmodellierung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Datenblattansicht aufgebohrt - 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\/Datenblattansicht_aufgebohrt\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Datenblattansicht aufgebohrt\" \/>\n<meta property=\"og:description\" content=\"Die Datenblattansicht von Access kennt jeder Access-Benutzer: Viele finden diese sogar so praktisch, dass sie ihre Daten direkt in die Datenblattansicht von Tabellen oder Abfragen eingeben. Dies erledigen Sie jedoch besser in Formularen, was allerdings kein Grund ist, auf die Vorz&uuml;ge der Datenblattansicht zu verzichten. Eher im Gegenteil: Mit ein wenig Finetuning holen Sie alles aus der Datenblattansicht heraus.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:15:51+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f\" \/>\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=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Datenblattansicht aufgebohrt\",\"datePublished\":\"2021-02-11T21:15:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/\"},\"wordCount\":2211,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/bb5cb13f06e44396b99ef50aed0f5c4f\",\"articleSection\":[\"2007\",\"3\\\/2007\",\"Ergonomie und Benutzeroberfl\u00e4che\",\"Mit Formularen arbeiten\",\"Tabellen und Datenmodellierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/\",\"name\":\"Datenblattansicht aufgebohrt - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/bb5cb13f06e44396b99ef50aed0f5c4f\",\"datePublished\":\"2021-02-11T21:15:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/bb5cb13f06e44396b99ef50aed0f5c4f\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/bb5cb13f06e44396b99ef50aed0f5c4f\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenblattansicht_aufgebohrt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Datenblattansicht aufgebohrt\"}]},{\"@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":"Datenblattansicht aufgebohrt - 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\/Datenblattansicht_aufgebohrt\/","og_locale":"de_DE","og_type":"article","og_title":"Datenblattansicht aufgebohrt","og_description":"Die Datenblattansicht von Access kennt jeder Access-Benutzer: Viele finden diese sogar so praktisch, dass sie ihre Daten direkt in die Datenblattansicht von Tabellen oder Abfragen eingeben. Dies erledigen Sie jedoch besser in Formularen, was allerdings kein Grund ist, auf die Vorz&uuml;ge der Datenblattansicht zu verzichten. Eher im Gegenteil: Mit ein wenig Finetuning holen Sie alles aus der Datenblattansicht heraus.","og_url":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:15:51+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Datenblattansicht aufgebohrt","datePublished":"2021-02-11T21:15:51+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/"},"wordCount":2211,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f","articleSection":["2007","3\/2007","Ergonomie und Benutzeroberfl\u00e4che","Mit Formularen arbeiten","Tabellen und Datenmodellierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/","url":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/","name":"Datenblattansicht aufgebohrt - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f","datePublished":"2021-02-11T21:15:51+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/bb5cb13f06e44396b99ef50aed0f5c4f"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Datenblattansicht_aufgebohrt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Datenblattansicht aufgebohrt"}]},{"@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\/55000464","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=55000464"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000464\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}