Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Inhalt eines Kombinationsfeldes anpassen

Kombinationsfelder dienen blicherweise der Auswahl von in Lookuptabellen oder Wertlisten gespeicherten Daten. Gelegentlich verwendet man sie auch zum Neuanlegen von Lookupdaten, das ndern der eigentlichen Inhalte eines Kombinationsfeldes ist eigentlich nicht geplant. Aber es ist mglich, wie folgender Beitrag zeigt.

Beispieldatenbank

Die Beispieldatenbank enthlt ein Formular zur Anzeige der Artikel der Nordwinddatenbank mit einem Kombinationsfeld zur Auswahl der Kategorie.

Funktion von Kombinationsfeldern erweitern

Wenn Sie einem Kombinationsfeld eine Funktion zum ndern seines Inhalts mitgeben, erweitern Sie seine Fhigkeiten enorm und sparen sich weitere Formulare zum Bearbeiten seiner Daten.

Eine einfache Schaltflche ffnet dabei eine Inputbox zur Eingabe des neuen Inhalts (siehe Abbildung 1). Die nderung des Inhalts bezieht sich direkt auf die Daten der zugrundeliegenden Tabelle.

Abbildung 1: ndern eines Kombinationsfeldinhalts

Die durch die Schaltflche ausgelste Ereignisprozedur liest den aktuellen Inhalt des Kombinationsfeldes ein und bietet ihn in einer Inputbox als Grundlage fr den neuen Ausdruck an. Per Execute-Methode ndert die Prozedur den entsprechenden Datensatz der Tabelle Kategorien. Damit das Kombinationsfeld den genderten Inhalt anzeigt, aktualisiert die Prozedur die Datensatzherkunft und stellt das Kombinationsfeld ber die Eigenschaft ItemData wieder auf den richtigen Datensatz ein.

Private Sub cmdAendern_Click()

    Dim db As DAO.Database

    Dim strKategorie As String

    Dim intKategorie As Integer

    strKategorie = InputBox("Geben Sie den neuen Kategorienamen ein.", _

        & "Kategoriename ndern", Me![Kategorie-Nr].Column(1))

    If Not (strKategorie = Me![Kategorie-Nr].Column(1) Or strKategorie = "") _

        Then

        Set db = CurrentDb

        db.Execute ("UPDATE Kategorien SET Kategoriename = '" _

            & strKategorie & "' WHERE [Kategorie-Nr] = " _

            & Me![Kategorie-Nr]), dbFailOnError

        intKategorie = Me![Kategorie-Nr].ListIndex

        Me![Kategorie-Nr].Requery

        Me![Kategorie-Nr] = Me![Kategorie-Nr].ItemData(intKategorie)

        Set db = Nothing

    End If

End Sub

© 2003-2015 André Minhorst Alle Rechte vorbehalten.