Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Genau wie beim Listenfeld oder auch in einem Datenblatt gibt es Möglichkeiten, Einträge anzuklicken, den markierten Eintrag auszuwerten oder auch per Code bestimmte Einträge zu markieren. Wie dies gelingt, zeigt dieser Artikel.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1208_ListView_Zugriff.mdb.
Eigenschaften zur Markierung
Zunächst schauen wir uns die Eigenschaft FullRowSelect an. Mit dieser legen Sie fest, auf welchen Bereich der Benutzer klicken muss, um einen Eintrag zu markieren und wie der markierte Eintrag hervorgehoben wird.
Im Beispiel im Formular frmListViewMarkieren können Sie diese Eigenschaft mit der Umschaltfläche tglKompletteZeile ein- und ausschalten. Das Formular basiert auf dem Formular frmListViewMitDatenAusTabelle, das Listenfeld wird wie im Artikel ListView-Steuerelement mit Daten füllen mit den Daten der Tabelle tblPersonal gefüllt.
über dem List-View-Steuerelement haben wir eine Umschaltfläche platziert, welche die Eigenschaft FullRowSelect des ListView-Steuerelements abwechselnd auf die Werte True und False einstellt.
Damit dies geschieht, legen Sie für die Umschaltfläche mit dem Namen tblKompletteZeile eine Ereignisprozedur an, die durch das Ereignis Nach Aktualisierung ausgelöst wird (Markieren der Eigenschaft, Auswahl von [Ereignisprozedur], Klick auf die Schaltfläche mit den drei Punkten). Diese Prozedur füllen Sie wie folgt:
Private Sub tglKompletteZeile_AfterUpdate() Select Case Me!tglKompletteZeile Case -1 objLvwPersonal.FullRowSelect = True Case 0 objLvwPersonal.FullRowSelect = False End Select End Sub
Beim Laden des Formulars wird die Eigenschaft FullRowSelect auf den Wert False eingestellt, was die folgende Zeile in der Prozedur Form_Load bewirkt:
Private Sub Form_Load() Set objLvwPersonal = Me!lvwPersonal.Object With objLvwPersonal ... .FullRowSelect = False ... End Sub
Dies sorgt außerdem dafür, dass nur ein Klick auf den Text in der ersten Spalte des ListView-Steuerelements den gewünschten Eintrag markiert – und hier auch nur den Inhalt der ersten Spalte (siehe Bild 1).
Bild 1: Einstellen der Spalten im ListView-Steuerelement
Die übrigen hier nicht abgebildeten Anweisungen finden Sie im Klassenmodul Form_frmListViewMarkieren der Beispieldatenbank, die Erläuterung dazu im Artikel ListView-Steuerelement mit Daten füllen.
Da die Umschaltfläche beim öffnen des Formulars standardmäßig den Wert Null enthält, ändert ein erster Klick den Wert auf -1, also True. Dies löst die Ereignisprozedur tblKompletteZeile_AfterUpdate aus und stellt die Eigenschaft FullRowSelect ebenfalls auf True ein. Ein weiterer Klick stellt die Eigenschaft wieder auf False ein. Wenn FullRowSelect den Wert True enthält, kann der Benutzer den Eintrag an einer beliebigen Stelle anklicken. Dies markiert dann auch die komplette Zeile (siehe Bild 2).
Bild 2: Markieren der kompletten Zeile im ListView
Den markierten Datensatz ermitteln
Wenn der Benutzer einen Datensatz markiert, dann zum Durchführen einer bestimmten Aktion: Vielleicht möchte er die Detailansicht aufrufen, den Datensatz löschen oder etwas anderes damit erledigen. In jedem Fall benötigen wir dann einen eindeutigen Hinweis auf diesen Datensatz – in der Regel den Wert des Primärschlüsselfeldes für diesen Eintrag.
Diesen haben wir beispielsweise in der ersten Spalte des ListView-Steuerelements abgebildet, aber er befindet sich auch in der Key-Eigenschaft eines jeden Eintrags. Wir schauen uns erst an, wie Sie den Wert der ersten Spalte ermitteln und kümmern uns dann um die Key-Eigenschaft. Letztere wird vermutlich öfter eingesetzt, da es nicht immer gewünscht ist, die Werte der Primärschlüsselfelder anzuzeigen.
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