window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Einfacher Listenfeldfilter

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Manchmal möchte Sie einen Filter auf die einfache Art setzen – ohne VBA und den Einsatz von Ereignisprozeduren. Das gelingt unter Access sehr leicht, aber nicht ohne Tücken – und auch nicht komplett ohne den Einsatz von VBA: So kann es zum Beispiel sein, dass das Listenfeld keine Daten anzeigt, wenn das für die Eingabe des Vergleichswertes verwendete Textfeld leer ist. Wir schauen uns einen einfachen Listenfeldfilter anhand eines Textfeldes an und zeigen, wie Sie die kleinen Hindernisse umschiffen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1806_EinfacherListenfeldfilter.accdb.

Vorbereitung

Das Formular soll ein Textfeld namens txtSucheNachFirma enthalten sowie ein Listenfeld namens lstKunden, das zu Beginn alle Datensätze der Tabelle tblKunden anzeigt (siehe Bild 1). Dem Listenfeld weisen wir als Datensatzherkunft die folgende Abfrage zu, um die Spalten korrekt auszurichten:

Entwurf des Beispielformulars

Bild 1: Entwurf des Beispielformulars

SELECT tblKunden.KundeID, tblKunden.KundenCode, tblKunden.Firma, tblKunden.Kontaktperson FROM tblKunden;

Dabei wollen hier nur die Spalten KundeID, Kundencode, Firma und Kontaktperson anzeigen. Damit die Spalte KundeID nur als gebundene Spalte verwendet, aber nicht angezeigt wird, stellen wir die Eigenschaft Spaltenanzahl auf 4 und Spaltenbreiten auf 0cm ein. Dadurch wird die erste Spalte ausgeblendet und die übrigen Spalten teilen sich den verbleibenden Platz.

Das Ergebnis sieht in der Formularansicht nun wie in Bild 2 aus. Hier haben wir auch noch die Eigenschaften Navigationsschaltflächen, Datensatzmarkierer, Bildlaufleisten und Trennlinien auf Nein sowie Automatisch zentrieren auf Ja eingestellt. Hier zeigt sich, dass wir die Breiten der Spalten doch manuell einstellen müssen, um ein brauchbares Ergebnis zu erhalten. Wir stellen die Eigenschaft Spaltenbreiten auf 0cm;2cm ein. Damit wird die Spalte mit dem Kundencode schmaler und die beiden übrigen Spalten teilen sich den verbleibenden Platz.

Formularansicht des Beispielformulars

Bild 2: Formularansicht des Beispielformulars

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar