{"id":55000295,"date":"2005-08-01T00:00:00","date_gmt":"2020-05-06T15:18:05","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=295"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"FAQ","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/FAQ\/","title":{"rendered":"FAQ"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Sie erhalten Antworten auf die meistgestellten Fragen zu Kombinations- und Listenfeldern.<\/p>\n<h3>Techniken<\/h3>\n<p>Formulare, Listenfelder, Kombinationsfelder, VBA<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 97 oder h&ouml;her<\/p>\n<h3>Beispieldateien<\/h3>\n<p><a href=''fileadmin\/files\/65_72_acc0405tt01.zip''>FAQ9_97.mdb<\/a><\/p>\n<p>FAQ9_00.mdb<\/p>\n<h3><\/h3>\n<p><b>Karl Donaubauer, Wien<\/b><\/p>\n<p><b>In der Access-FAQ von Karl Donaubauer (www.donkarl.com) finden Sie die meistgestellten Fragen und Anworten zum Thema Microsoft Access. In dieser Beitragsreihe stellt Karl Donaubauer die wichtigsten Eintr&auml;ge im Detail vor und zeigt Ihnen entsprechende L&ouml;sungen anhand praxisnaher Beispiele. Im neunten Teil lernen Sie die L&ouml;sungen zu den h&auml;ufigsten Problemen im Zusammenhang mit Kombinations- und Listenfeldern in Formularen kennen.<\/b><\/p>\n<p>Es steht zwar nicht in der Online-Hilfe, aber die nicht &auml;nderbare maximale Zeilenanzahl f&uuml;r beide Steuerelemente betr&auml;gt in allen Access-Versionen 65536. Wenn die Datensatzherkunft mehr Datens&auml;tze enth&auml;lt, werden die &uuml;berz&auml;hligen ignoriert und nicht dargestellt. Sie sollten ohnehin niemals in diese Verlegenheit kommen, sondern daf&uuml;r sorgen, dass nicht mehr als einige hundert oder wenige tausend Zeilen in einem Kombinationsfeld oder Listenfeld dargestellt werden. Der Grund ist die schlechte Performance bei sehr vielen Zeilen. Es ist fast immer m&ouml;glich, gro&szlig;e Datensatzmengen f&uuml;r die Verwendung sinnvoll vorzufiltern, sei es nach Anfangsbuchstabe, Gruppe, Bereich, Region oder &auml;hnlich. Mehr dazu sp&auml;ter in diesem Artikel.<\/p>\n<p>Das Problem der oft schlechten Performance mit Kombinations- und Listenfeldern wird versch&auml;rft, wenn sich mehrere davon in einem Formular befinden. Das &ouml;ffnen des Formulars kann dann sehr lange dauern und unzumutbar f&uuml;r den Benutzer werden. Die erste Ma&szlig;nahme in solchen F&auml;llen w&auml;re nat&uuml;rlich die Reduzierung dieser Steuerelemente. Da sie aber gro&szlig;artige Funktionalit&auml;t bieten und der Anwender dadurch leicht verw&ouml;hnt wird, ist das nicht immer m&ouml;glich, vor allem, wenn sich erst im Laufe der Verwendung einer Datenbank die Datenmengen stark erh&ouml;hen und die Performance immer schlechter wird.<\/p>\n<p>Teil des Performance-Problems ist, dass die Datensatzherkunft von Kombinations- und Listenfeldern immer schon beim &ouml;ffnen des Formulars geladen wird, um die Steuerelemente zu f&uuml;llen. Hier kann man l&ouml;sungsm&auml;&szlig;ig ansetzen.<\/p>\n<p>Lassen Sie einfach die Eigenschaft Datensatzherkunft leer, oder, wenn Sie unbedingt schon beim &ouml;ffnen des Formulars Werte anzeigen m&uuml;ssen, belegen Sie sie standardm&auml;&szlig;ig mit stark einschr&auml;nkenden Abfragen. Erst wenn der Anwender aktiv auf das Kombinations- oder Listenfeld zugreift, setzen Sie die Datensatzherkunft per VBA.<\/p>\n<p>Daf&uuml;r reichen drei Zeilen Code im Ereignis Beim Hingehen des Steuerelementes. Angenommen, Sie m&ouml;chten das Kombinationsfeld cboOrte mit den Daten aus der Tabelle tblOrte f&uuml;llen:<\/p>\n<pre>If Me!cboOrte.RowSource &lt;&gt; \"tblOrte\" Then\r\n    Me!cboOrte.RowSource = \"tblOrte\"\r\nEnd If<\/pre>\n<p>Die Pr&uuml;fung mit If vorneweg sorgt daf&uuml;r, dass das Bef&uuml;llen nicht unn&ouml;tig wiederholt wird, wenn der Anwender erneut auf das bereits gef&uuml;llte Kombinationsfeld zugreift.<\/p>\n<p>Ein h&auml;ufig gew&uuml;nschtes Feature f&uuml;r Klickfaule ist, dass sich die Auswahlliste eines Kombinationsfeldes beim Hingehen wie von Geisterhand &ouml;ffnen m&ouml;ge, ohne dass der Anwender auf den entsprechenden Abw&auml;rtspfeil klicken muss.<\/p>\n<p>In den ersten Versionen von Access konnte man das nur mit dem fehlerbehafteten Sendkeys-Befehl regeln, mit dem man eine der Windows-Tastenkombinationen zum &ouml;ffnen von Auswahllisten, Alt + Pfeil nach unten oder F4, losschickte.<\/p>\n<p>Heutzutage ist das eine Unsitte, die man aber immer noch entweder als Tipp oder in Anwendungen zu sehen bekommt. Bereits seit Access 95 gibt es f&uuml;r diesen Zweck die Methode Dropdown.<\/p>\n<p>Zu ihrer Ausf&uuml;hrung muss das Kombinationsfeld den Fokus haben. Sie m&uuml;ssen also entweder, wie im Beispielformular gezeigt (siehe Bild 1), zuerst den Fokus auf das Kombinationsfeld setzen oder das Ereignis Beim Hingehen des Kombinationsfeldes verwenden. Der Code ist dann einfach:<\/p>\n<pre>Me!cboOrte.Dropdown<\/pre>\n<p><IMG height=\"179\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Kombinationsfeld per Schaltfl&auml;che ge&ouml;ffnet<\/span><\/b><\/p>\n<p>In der Eigenschaft Value eines Kombinations- oder Listenfeldes befindet sich immer nur der Wert aus der gebundenen Spalte. Den Zugriff auf die Werte anderer Spalten erm&ouml;glicht die Eigenschaft Column(Spalte, Zeile). Die Parameter f&uuml;r die Spalte und die Zeile sind beide nullbasierend. Den Wert der zweiten Spalte aus der zweiten Zeile erhalten Sie daher mit:<\/p>\n<pre>Me!cboOrte.Column(1,1)<\/pre>\n<p>Wenn Sie nur den ersten Parameter angeben, also jenen f&uuml;r die Spalte, zum Beispiel<\/p>\n<pre>Me!cboOrte.Column(1)<\/pre>\n<p>dann wird der Wert aus der aktuell ausgew&auml;hlten Zeile zur&uuml;ckgeliefert.<\/p>\n<p>Ein Bezug dieser Art wird auch gerne verwendet, um in ungebundenen Textfeldern eines Formulars die Werte aus den nicht gebundenen Spalten eines Kombinationsfeldes anzuzeigen. Wenn es nur um die Anzeige geht, reicht f&uuml;r das anzeigende Textfeld ein Steuerelementinhalt wie:<\/p>\n<pre>=[cboOrte].[Column](1)<\/pre>\n<p>Beispiele f&uuml;r die Verwendung von Column finden Sie ebenfalls im Formular frmKombinationsfeldOeffnen aus Bild 1.<\/p>\n<p>M&ouml;chten Sie hingegen den Wert in einem gebundenen Textfeld speichern, so m&uuml;ssen Sie ihn, am besten im Ereigniscode Nach Aktualisierung des Kombinationsfeldes, per VBA zuweisen:<\/p>\n<pre>Me!MeinFeld = Me!cboOrte.Column(1)<\/pre>\n<p>Noch ein Hinweis auf einen Trick, um Column() auch in Bez&uuml;gen in Abfragen verwenden zu k&ouml;nnen. Ein Bezug wie der folgende (in einer Zeile) in einem Abfragekriterium funktioniert nicht, weil JET mit der Column-Eigenschaft nichts anfangen kann:<\/p>\n<pre>Forms!MeinFormular!MeinListenFeld.Column(1)<\/pre>\n<p>Abhilfe bringt, wie so oft, die Verwendung der Funktion Eval(), die daf&uuml;r sorgt, dass der Expression Service von JET den Bezug auswertet, bevor die Abfrage von der JET-Query-Engine weiter verarbeitet wird. Der Bezug in der Abfrage muss daf&uuml;r lauten (in einer Zeile):<\/p>\n<pre>Eval(\"Forms!MeinFormular!MeinListenFeld.Column(1)\")<\/pre>\n<p><IMG height=\"198\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Automatische Markierung bestimmter Zeilen<\/span><\/b><\/p>\n<p>Eine h&auml;ufige Anforderung an Kombinationsfelder und gelegentlich auch an Listenfelder ist ein voreingestellter Wert. Meistens geht es darum, den ersten oder letzten Wert aus der Liste automatisch auszuw&auml;hlen.<\/p>\n<p>F&uuml;r diese Zwecke eignet sich am besten die Eigenschaft ItemData. Der Index von ItemData ist wieder nullbasierend, das hei&szlig;t ItemData(0) ist die erste Zeile des Steuerelementes, ItemData(1) die zweite und so weiter.<\/p>\n<p>Das Listenfeld lstOrte im Beispielformular (siehe Bild 2) ist so pr&auml;pariert, dass beim &ouml;ffnen des Formulars die erste Zeile vorausgew&auml;hlt ist. Erreicht wird das durch folgenden Eintrag in der Eigenschaft Standardwert des Listenfeldes:<\/p>\n<pre>[lstOrte].[ItemData](0)<\/pre>\n<p>In Bild 2 sehen Sie auch mehrere Schaltfl&auml;chen, die weitere Varianten vorf&uuml;hren. Der Code, um die erste Zeile eines Listenfeldes oder Kombinationsfeldes per VBA auszuw&auml;hlen, lautet schlicht:<\/p>\n<pre>Me!lstOrte = Me!lstOrte.ItemData(0)<\/pre>\n<p>Etwas komplizierter ist das dynamische Weiterspringen um jeweils eine Zeile (ohne Zeilenumbruch):<\/p>\n<pre>Me!lstOrte = Me!lstOrte.ItemData(Me!lstOrte.ListIndex + 1)<\/pre>\n<p>Die aktuell ausgew&auml;hlte Zeile wird dabei mithilfe der Eigenschaft ListIndex ausgelesen und um 1 erh&ouml;ht. Der Code zum Ausw&auml;hlen der letzten Zeile lautet:<\/p>\n<pre>Me!lstOrte = Me!lstOrte.ItemData(Me!lstOrte.ListCount - 1)<\/pre>\n<p>Mithilfe der Eigenschaft ListCount wird dabei die Anzahl der Zeilen ermittelt und, da ItemData ja nullbasierend ist, 1 subtrahiert.<\/p>\n<p>ListCount k&ouml;nnen Sie auch f&uuml;r andere n&uuml;tzliche Zwecke einsetzen. So kann es etwa f&uuml;r den Anwender eine sinnvolle Information sein, wenn er wei&szlig;, die wievielte Zeile von wie vielen vorhandenen er gerade ausgew&auml;hlt hat. In Bild 2 sehen Sie unterhalb des Listenfeldes ein entsprechendes Textfeld mit folgendem Steuerelementinhalt:<\/p>\n<pre>=[lstOrte].[ListIndex]+1 & \" \/ \" & [lstOrte].[ListCount]<\/pre>\n<p><!--30percent--><\/p>\n<p>ListIndex ist wiederum eine nullbasierende Eigenschaft, die den aktuell gew&auml;hlten Eintrag wiedergibt.<\/p>\n<p>Es gibt mehrere Varianten, um den im Textteil eines Kombinationsfeldes eingegebenen Wert per VBA in seine Auswahlliste aufzunehmen. In der ersten hier demonstrierten Variante wird der Wert unmittelbar nach der Eingabe und ohne Nachfrage in die Liste aufgenommen.<\/p>\n<p>Voraussetzung f&uuml;r den Zugriff per VBA ist, dass die Eigenschaft Nur Listeneintr&auml;ge des Kombinationsfeldes auf Ja steht. Als Folge dieser Einstellung k&ouml;nnen Sie Code im Ereignis Bei nicht in Liste des Steuerelementes verwenden, um den Datensatz an die Datensatzherkunft anzuf&uuml;gen und das Kombinationsfeld zu aktualisieren.<\/p>\n<p>Quellcode 1 zeigt den im Beispielformular frmKombiHinzufuegen verwendeten Code, um einen Eintrag an eine Artikeltabelle anzuf&uuml;gen.<\/p>\n<p>In der ersten Codezeile wird der Parameter Response auf acDataErrAdded gesetzt. Standardm&auml;&szlig;ig bringt Access bei einem neuen Eintrag die sch&ouml;ne Meldung: &#8222;Der von Ihnen eingegebene Text ist kein Element der Liste.&#8220;<\/p>\n<p>adDataErrAdded sorgt daf&uuml;r, dass diese Standardmeldung unterbleibt und der neue Eintrag kommentarlos angef&uuml;gt wird.<\/p>\n<p><b>Quellcode 1: Anf&uuml;gen eines Eintrags an eine Tabelle<\/b><\/p>\n<pre>Response = acDataErrAdded\r\nDim db As DAO.Database\r\nDim rs As DAO.Recordset\r\nSet db = CurrentDb\r\nSet rs = db.OpenRecordset(\"tblArtikel\", dbOpenDynaset)\r\nrs.AddNew\r\nrs!Bezeichnung = NewData\r\nrs.Update\r\nrs.Close: Set rs = Nothing\r\nSet db = Nothing\r\n<\/pre>\n<p><b>Quellcode 2: &ouml;ffnen eines Eingabeformulars<\/b><\/p>\n<pre>Response = acDataErrContinue\r\nIf MsgBox(\"Dieser Artikel ist neu. \" _\r\n    & \"M&ouml;chten Sie ihn anlegen\", vbYesNo) = _    vbYes Then\r\n    DoCmd.OpenForm \"frmArtikelNeu\", , , , _        acFormAdd\r\n    Forms!frmArtikelNeu!Bezeichnung = NewData\r\nElse\r\n    Response = acDataErrContinue\r\n    Me!cboArtikel2.Undo\r\nEnd If\r\n<\/pre>\n<p>Dazu wird ein DAO-Recordset auf Basis der dem Kombinationsfeld zugrunde liegenden Tabelle ge&ouml;ffnet. Der im Textfeld des Kombinationsfeldes neu eingegebene Begriff befindet sich im Parameter Newdata des NotInList-Ereignisses. Damit kann er dem passenden Feld im Recordset zugewiesen werden. Mit AddNew wird der neue Datensatz an die Tabelle angef&uuml;gt. <\/p>\n<p>Diese einfache Variante eignet sich nur f&uuml;r neue Eintr&auml;ge in Tabellen, bei denen keine weiteren Felder auszuf&uuml;llen sind. Andernfalls ist das &uuml;bliche Vorgehen, bei Eingabe eines neuen Begriffs in das Kombinationsfeld ein Eingabeformular f&uuml;r den Anwender zu &ouml;ffnen, in das er alle n&ouml;tigen weiteren Daten f&uuml;r den neuen Datensatz eintragen kann. Beim Schlie&szlig;en des Eingabeformulars wird dann der neue Eintrag in der Liste des Kombinationsfeldes hinzugef&uuml;gt.<\/p>\n<p>Quellcode 2 zeigt den Code im Beispielformular frmKombiHinzufuegen, der das Eingabeformular &ouml;ffnet. Zuerst wird der Parameter Response auf adDataErrContinue gesetzt. Das erm&ouml;glicht eine selbst definierte Meldung anstelle der Access-Standardmeldung.<\/p>\n<p>Dann erfolgt die R&uuml;ckfrage an den Anwender, ob er den neuen Artikel wirklich anlegen m&ouml;chte. Wenn er verneint, etwa im Falle eines Irrtums oder Tippfehlers, wird die Eingabe mit Undo r&uuml;ckg&auml;ngig gemacht.<\/p>\n<p>Wenn er hingegen bejaht, wird das Eingabeformular ge&ouml;ffnet und der neue Eintrag f&uuml;r die Artikelbezeichnung aus dem Kombinationsfeld in das entsprechende Textfeld im Eingabeformular &uuml;bernommen (siehe Bild 3).<\/p>\n<p><IMG height=\"283\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic003.png\" width=\"458\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Eingabeformular zum Hinzuf&uuml;gen eines neuen Eintrags in die Auswahlliste eines Kombinationsfeldes<\/span><\/b><\/p>\n<p>Der Anwender kann nun das Eingabeformular ausf&uuml;llen. Im Ereignis Beim Schlie&szlig;en des Eingabformulares wird dann mit den folgenden zwei Codezeilen daf&uuml;r gesorgt, dass der neue Eintrag sofort in der Auswahlliste des Kombinationsfeldes sichtbar ist:<\/p>\n<pre>Forms!frmKombiHinzufuegen!cboArtikel2 _    = Me!ArtikelId<\/pre>\n<p><IMG height=\"178\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic004.png\" width=\"485\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Abh&auml;ngige Kombinationsfelder<\/span><\/b><\/p>\n<p><IMG height=\"251\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Abh&auml;ngige Listenfelder<\/span><\/b><\/p>\n<pre>Forms!frmKombiHinzufuegen!cboArtikel2. _    Requery<\/pre>\n<p>Das Kombinationsfeld wird auf den Wert der neuen ArtikelId gesetzt, damit dieser der aktuelle Eintrag wird. Das abschlie&szlig;ende Requery sorgt f&uuml;r die Aktualisierung der Auswahlliste.<\/p>\n<p>Der h&auml;ufigste Beziehungstyp in der Datenbankpraxis ist 1:n. In der Regel wird er mit dem System Hauptformular-Unterformular abgebildet.<\/p>\n<p>In vielen Anwendungsf&auml;llen passt aber die Umsetzung in zwei abh&auml;ngige Kombinations- oder Listenfelder besser, besonders f&uuml;r die Filterung und Vorauswahl aller Art. <\/p>\n<p>Das Prinzip ist einfach: Man l&auml;sst das zweite abh&auml;ngige Steuerelement auf einer Abfrage basieren, die einen Bezug auf das erste Steuerelement enth&auml;lt. Bild 4 zeigt eine solche klassische Anordnung zweier Kombinationsfelder.<\/p>\n<p>Im linken Kombinationsfeld befinden sich die 1er-Daten, mit einer Liste von Artikelgruppen. Im rechten Kombinationsfeld befinden sich die gefilterten n-Daten, n&auml;mlich die zur ausgew&auml;hlten Gruppe geh&ouml;renden Artikel.<\/p>\n<p>Entscheidend ist die Eigenschaft Datensatzherkunft des zweiten Kombinationsfeldes. Sie ist leer, bis sie in der Ereignisprozedur Nach Aktualisierung des ersten Kombinationsfeldes gef&uuml;llt wird:<\/p>\n<pre>Me!cboArtikel.RowSource = _\r\n    \"SELECT Bezeichnung \" & _\r\n    \"FROM tblArtikel \" & _\r\n    \"WHERE AGId \" = Forms! _    frmAbhaengigeKombinationsfelder! _    cboArtikelgruppen  & _\r\n    \" ORDER BY Bezeichnung\"<\/pre>\n<p>In der WHERE-Bedingung des SQL-Statements wird die ID der Artikelgruppe durch einen Bezug auf das erste, &uuml;bergeordnete Kombinationsfeld gefiltert. Dadurch erscheinen bei jedem Wechsel der Artikelgruppe im anderen Kombinationsfeld nur die dazu geh&ouml;renden Artikel.<\/p>\n<p>In Bild 5 sehen Sie ein weiteres Beispiel mit Listenfeldern und einer etwas anderen Technik zur Behandlung der Abh&auml;ngigkeit.<\/p>\n<p>Im linken Listenfeld befinden sich wieder die 1er-Daten, in diesem Fall eine Liste von Artikelbezeichnungen.<\/p>\n<p>Im rechten Listenfeld befinden sich die gefilterten n-Daten, n&auml;mlich die Lieferungen f&uuml;r den ausgew&auml;hlten Artikel. Die Eigenschaft Datensatzherkunft des zweiten Listenfeldes ist hier nicht leer, sondern enth&auml;lt folgenden SQL-Text:<\/p>\n<pre>SELECT L.LieferlID, A.Bezeichnung, L.Stueck, L.Preis, L.Lieferdatum\r\nFROM tblArtikel AS A INNER JOIN tblLieferungen AS L ON A.ArtikelID = L.ArtikelID\r\nWHERE L.ArtikelID=[Forms]![frmAbhaengigeListenfelder]![lstArtikel];<\/pre>\n<p>Aus den beiden verkn&uuml;pften Tabellen werden also Felder geholt und als Kriterium beim Verkn&uuml;pfungsfeld ArtikelID wird wieder der Wert des linken, &uuml;bergeordneten Listenfeldes verwendet.<\/p>\n<p>Die gebundene Spalte dieses &uuml;bergeordneten Listenfeldes enth&auml;lt die ArtikelID des gew&auml;hlten Artikels und damit erscheinen nur seine Lieferungen.<\/p>\n<p>Was nicht fehlen darf, ist die Aktualisierung des zweiten Listenfeldes im Ereignis Nach Aktualisierung des ersten Listenfeldes, das hei&szlig;t bei jeder Auswahl eines anderen Artikels:<\/p>\n<pre>Me!lstLieferungen.Requery<\/pre>\n<p>Im ersten Beispiel war keine Aktualisierung mit Requery n&ouml;tig, weil sie durch die &auml;nderung der RowSource automatisch erfolgt.<\/p>\n<p>Welche der beiden Varianten Sie verwenden oder eventuell sogar eine mit einer gespeicherten und im Datenbankfenster sichtbaren Abfrage, ist eher eine Frage der pers&ouml;nlichen Vorliebe bez&uuml;glich Speicherung von Abfragen oder SQL-Strings im Code.<\/p>\n<p>Ein Feature, das vielen Anwendern in Listenfeldern fehlt, ist die M&ouml;glichkeit, die Eintr&auml;ge dynamisch zu filtern. Kombinationsfelder haben diese Funktionalit&auml;t zumindest ansatzweise durch ihre Eigenschaft Automatisch erg&auml;nzen, die beim Eintippen jedes Zeichens zum n&auml;chst passenden Eintrag springt.<\/p>\n<p>Eine wirkliche dynamische Filterm&ouml;glichkeit besitzen sie aber auch nicht. Mithilfe eines ungebundenen Textfeldes und zwei bis drei Zeilen VBA-Code ist das aber f&uuml;r Listenfelder schnell erledigt.<\/p>\n<p>Bild 6 zeigt das Beispielformular frmListenfeldDynamisch mit zwei leicht unterschiedlichen Filtervarianten.<\/p>\n<p><IMG height=\"295\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic006.png\" width=\"427\" border=\"0\"><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Dynamisches Filtern eines Listenfeldes<\/span><\/b><\/p>\n<p>Das Listenfeld enth&auml;lt eine Auswahl &ouml;sterreichischer Postleitzahlen und Orte. <\/p>\n<p>Bei jedem Eintippen einer Ziffer in das erste Textfeld werden die Eintr&auml;ge des Listenfeldes entsprechend dem Vorhandensein der eingegebenen Ziffern gefiltert.<\/p>\n<p>Der daf&uuml;r n&ouml;tige Code im Ereignis Bei &auml;nderung (OnChange) des Textfeldes ist sehr kurz:<\/p>\n<pre>Me!lstOrte.RowSource = _\r\n    \"SELECT PLZ, Ort \" & _\r\n    \"FROM tblOrte \" & _\r\n    \"WHERE PLZ Like ''*\" & _    Me!txtFilternPLZ.Text & \"*''\"<\/pre>\n<p>Die Datensatzherkunft des Listenfeldes wird also mit einem SQL-String versorgt, in dem das Feld f&uuml;r die Postleitzahl mit dem aktuellen Inhalt des filternden Textfeldes verglichen wird.<\/p>\n<p>Der Operator Like und die Sternchen (*) vor und hinter dem Filterbegriff sorgen daf&uuml;r, dass die Position der eingegebenen Ziffernkombination in der Postleitzahl egal ist.<\/p>\n<p>Die Verwendung der Eigenschaft Text ist n&ouml;tig, weil w&auml;hrend des Eintippens des Wertes dieser noch nicht in der Standardeigenschaft Value des Textfeldes vorhanden ist, sondern eben vorl&auml;ufig nur in der Text-Eigenschaft.<\/p>\n<p>Zum Value des Textfeldes wird er erst, wenn auf irgendeine Weise dessen Aktualisieren-Ereignisse ausgel&ouml;st werden, etwa durch Verlassen, Speichern oder Aktualisieren der Anzeige.<\/p>\n<p>Das zweite Textfeld zum Filtern der Ortsnamen besitzt einen erweiterten Code im Change-Ereignis:<\/p>\n<pre>Me!lstOrte.RowSource = _    \"SELECT PLZ, Ort \" & _\r\n    \"FROM tblOrte \" & _<\/pre>\n<p><IMG height=\"295\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic007.png\" width=\"427\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Sprung zum ersten zutreffenden Wert<\/span><\/b><\/p>\n<pre>    \"WHERE Ort Like ''\" & _    Me!txtFilternOrt.Text & \"*''\"\r\nMe.Recalc\r\nMe!txtFilternOrt.SelStart = _    Nz(Len(Me!txtFilternOrt))<\/pre>\n<p>Zuerst werden wieder die Daten des Listenfeldes anhand der Text-Eigenschaft des Textfeldes gefiltert.<\/p>\n<p>Die Methode Recalc behebt einen kleinen Sch&ouml;nheitsfehler der als Erstes beschriebenen Filtervariante. Es bewirkt n&auml;mlich die Aktualisierung des Textfeldes unterhalb des Listenfeldes, in dem dessen aktuelle Zeilenanzahl angezeigt wird.<\/p>\n<p>Durch das Recalc wird allerdings auch der Inhalt des Filterfeldes gespeichert und der gesamte Feldinhalt markiert.<\/p>\n<p>Somit wird das einfache Erg&auml;nzen des Filterbegriffs unm&ouml;glich. Sie k&ouml;nnen diesen Effekt testen, indem Sie die letzte Codezeile des Beispiels auskommentieren.<\/p>\n<p>Diese letzte Zeile sorgt daf&uuml;r, dass der Cursor nach dem Recalc wieder hinter der letzten Position im Filter-Textfeld steht.<\/p>\n<p>Dazu wird einfach die Eigenschaft SelStart auf die L&auml;nge des enthaltenen Textes gesetzt.<\/p>\n<p>Das dritte Textfeld filtert nicht, sondern springt zur ersten Zeile, die mit dem eingegebenen Postleitzahlen-Teil beginnt (siehe Bild 7).<\/p>\n<p>Der Code im Ereignis Bei &auml;nderung lautet folgenderma&szlig;en:<\/p>\n<pre>Me!lstOrte = DLookup(\"PLZ\", \"tblOrte\", _    \"PLZ Like ''\" _    & Me!txtSpringenPLZ.Text & \"*''\")<\/pre>\n<p>Mit der Funktion DLookup wird nach einer Postleitzahl gesucht, die mit dem eingegebenen Text beginnt.<\/p>\n<p>Das Listenfeld beziehungsweise dessen Standard-Eigenschaft Value wird auf diesen Wert gesetzt. Das bewirkt, dass der entsprechende Eintrag markiert wird.<\/p>\n<p>Ein ewiges Problem mit Kombinationsfeldern und noch viel st&auml;rker mit Listenfeldern ist die Einschr&auml;nkung, dass alle Spalten linksb&uuml;ndig ausgerichtet sind. <\/p>\n<p>Das sieht bei Zahlen und besonders Geldbetr&auml;gen nicht gut aus. Es gibt leider keine eingebaute M&ouml;glichkeit in Access, um Spalten rechtsb&uuml;ndig auszurichten, sondern nur zwei etwas holprige Workarounds.<\/p>\n<p>Das Problem dabei sind in erster Linie die verschiedenen Buchstabenbreiten bei Proportionalschriften.<\/p>\n<p>Manchmal ist die Rechtsausrichtung jedoch so wichtig f&uuml;r den Anwender, dass man &uuml;ber die kleinen M&auml;ngel in den L&ouml;sungen hinweg sehen wird.<\/p>\n<p><IMG height=\"265\" src=\"..\/fileadmin\/_temp_\/{4DD564DF-F4CB-4849-8673-76A066CECB85}\/pic008.png\" width=\"379\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Spalte Lieferpreis ist rechtsb&uuml;ndig ausgerichtet<\/span><\/b><\/p>\n<p>Der eine Workaround basiert auf heftiger API-Programmierung, um die Buchstabenbreiten zu ermitteln und die Listenfelder entsprechend einzustellen.<\/p>\n<p>Basteleien dazu sind auf der Webseite des kanadischen Access-MVP Stephen Lebans zu finden (http:\/\/www.lebans.com\/justicombo.htm).<\/p>\n<p>Das Ergebnis ist optisch nie ganz perfekt, sondern immer nur eine Ann&auml;herung an eine exakte Ausrichtung.<\/p>\n<p>Die andere L&ouml;sungsvariante ist die Verwendung von Festbreitenschriften. Diese &#8222;Schreibmaschinen-Schriften&#8220; wirken heutzutage zwar etwas ungewohnt und altmodisch, liefern in Bezug auf die Ausrichtung aber sehr brauchbare Ergebnisse. Zu empfehlen ist hier die auf jedem Windows-PC standardm&auml;&szlig;ig vorhandene Schriftart Courier New, die etwas schlanker und eleganter ist als die klassische Courier-Schrift.<\/p>\n<p>Bild 8 zeigt das Beispielformular frmListenfeldRechtsbuendig, in dem Courier New zur Ausrichtung der Spalte mit dem Lieferpreis eingesetzt wird.<\/p>\n<p>Der zweite Bestandteil der L&ouml;sung, neben der Festbreitenschrift, ist, das Feld in der zugrund liegenden Abfrage f&uuml;r alle Datens&auml;tze auf die gleiche Breite einzustellen.<\/p>\n<p>Das wird mithilfe der Funktion Format und durch Auff&uuml;llen mit Leerzeichen erreicht. Das Preisfeld im Beispiel wird in der Abfrage mit folgender Formel formatiert:<\/p>\n<pre>Leerzchn(12-L&auml;nge(Format([L].[Preis];\"#.##0,00\"))) & Format([L].[Preis];\"#.##0,00\")<\/pre>\n<p>Im ersten Teil dieses Ausdrucks werden mittels der Funktion Leerzchn (Space in VBA) Leerzeichen erzeugt. Ihre Anzahl betr&auml;gt 12, was f&uuml;r normale Geldbetr&auml;ge reichen sollte, abz&uuml;glich der tats&auml;chlichen L&auml;nge des im Feld Preis vorhandenen Betrags.<\/p>\n<p>Wobei das Preisfeld mit der Funktion Format vor allem in Hinblick auf die gleiche Anzahl von Kommastellen formatiert wird. Mit dem identischen Formatierungsausdruck wird dann der Betrag angeh&auml;ngt.<\/p>\n<p>Das Ergebnis ist ein Text, der immer zw&ouml;lf Zeichen lang ist. Rechts steht der formatierte Betrag und links wird je nach L&auml;nge des Betrags mit Leerzeichen aufgef&uuml;llt, damit sich der Betrag immer auf den &#8222;rechtesten&#8220; Positionen innerhalb der zw&ouml;lf Zeichen befindet.<\/p>\n<p>Da der Text also stets gleich lang ist und in Festbreitenschrift ausgegeben wird, ist eine exakte Rechtsausrichtung m&ouml;glich.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Access-FAQ von Karl Donaubauer (www.donkarl.com) finden Sie die meistgestellten Fragen und Anworten zum Thema Microsoft Access. In dieser Beitragsreihe stellt Karl Donaubauer die wichtigsten Eintr&auml;ge im Detail vor und zeigt Ihnen entsprechende L&ouml;sungen anhand praxisnaher Beispiele. Im neunten Teil lernen Sie die L&ouml;sungen zu den h&auml;ufigsten Problemen im Zusammenhang mit Kombinations- und Listenfeldern in Formularen kennen.<\/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":[662005,66042005,44000004],"tags":[],"class_list":["post-55000295","post","type-post","status-publish","format-standard","hentry","category-662005","category-66042005","category-Tipps_und_Tricks"],"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>FAQ - 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\/FAQ\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FAQ\" \/>\n<meta property=\"og:description\" content=\"In der Access-FAQ von Karl Donaubauer (www.donkarl.com) finden Sie die meistgestellten Fragen und Anworten zum Thema Microsoft Access. In dieser Beitragsreihe stellt Karl Donaubauer die wichtigsten Eintr&auml;ge im Detail vor und zeigt Ihnen entsprechende L&ouml;sungen anhand praxisnaher Beispiele. Im neunten Teil lernen Sie die L&ouml;sungen zu den h&auml;ufigsten Problemen im Zusammenhang mit Kombinations- und Listenfeldern in Formularen kennen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/FAQ\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:18:05+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127\" \/>\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=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"FAQ\",\"datePublished\":\"2020-05-06T15:18:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/\"},\"wordCount\":2978,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/f9853a9423914801a0e8c56d0b229127\",\"articleSection\":[\"2005\",\"4\\\/2005\",\"Tipps und Tricks\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/\",\"name\":\"FAQ - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/f9853a9423914801a0e8c56d0b229127\",\"datePublished\":\"2020-05-06T15:18:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/f9853a9423914801a0e8c56d0b229127\",\"contentUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/f9853a9423914801a0e8c56d0b229127\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/FAQ\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FAQ\"}]},{\"@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":"FAQ - 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\/FAQ\/","og_locale":"de_DE","og_type":"article","og_title":"FAQ","og_description":"In der Access-FAQ von Karl Donaubauer (www.donkarl.com) finden Sie die meistgestellten Fragen und Anworten zum Thema Microsoft Access. In dieser Beitragsreihe stellt Karl Donaubauer die wichtigsten Eintr&auml;ge im Detail vor und zeigt Ihnen entsprechende L&ouml;sungen anhand praxisnaher Beispiele. Im neunten Teil lernen Sie die L&ouml;sungen zu den h&auml;ufigsten Problemen im Zusammenhang mit Kombinations- und Listenfeldern in Formularen kennen.","og_url":"https:\/\/access-im-unternehmen.de\/FAQ\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:18:05+00:00","og_image":[{"url":"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/FAQ\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"FAQ","datePublished":"2020-05-06T15:18:05+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/FAQ\/"},"wordCount":2978,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127","articleSection":["2005","4\/2005","Tipps und Tricks"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/FAQ\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/FAQ\/","url":"https:\/\/access-im-unternehmen.de\/FAQ\/","name":"FAQ - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127","datePublished":"2020-05-06T15:18:05+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/FAQ\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#primaryimage","url":"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127","contentUrl":"http:\/\/vg08.met.vgwort.de\/na\/f9853a9423914801a0e8c56d0b229127"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/FAQ\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"FAQ"}]},{"@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\/55000295","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=55000295"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000295\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}