Über Kombinationsfeld in Formular suchen (Access 97, 2000)

30.12.2003

Frage:

Ich möchte ein kleines Softwareinventar machen.

Wie kann ich über ein Kombinationsfeld den User auswählen, damit die ihm zugewiesene Software aufgelistet wird?

Im Moment habe ich drei Tabellen: Usertabelle, Softwaretabelle und eine Zwischentabelle, wo die den Usern zugewiesene Software gespeichert sind.

Antwort:

Access-97-Datenbank mit Usern und Software.

Mit den drei Tabellen haben Sie schon den richtigen Start. Es ist anzunehmen, dass die Tabellen und deren Beziehungen ungefähr so aussehen: siehe Abbildung 1 unten

Über ein Kombinationsfeld können Sie auch eine Suchmöglichkeit im Formular anbieten. Das Kombinationsfeld soll alle User anzeigen und zum ausgewählten User wechseln. Erstellen Sie dafür ein Kombinationsfeld mit folgender Datensatzherkunft:

SELECT UserNr, User FROM Usertabelle ORDER BY User;

Diese Datensatzherkunft gibt eine Liste aller User zurück. Bei der Auswahl eines Users aus dieser Liste wird folgende Ereignisprozedur NachAktualisierung ausgeführt, um zum gesuchten User zu wechseln:

Private Sub cmbUser_AfterUpdate()

    Dim rstClone As Recordset

    If Not IsNull(Me!cmbUser) Then

        Set rstClone = Me.RecordsetClone
        rstClone.FindFirst "UserNr=" & Me!cmbUser

        If Not rstClone.NoMatch Then
            'zum gefundenen Datensatz wechseln
            Me.Bookmark = rstClone.Bookmark
        End If

    End If

End Sub

Diese Prozedur setzt die Formulareigenschaft RecordsetClone ein, um innerhalb der Datensatzgruppe des Formulars zu suchen. Als Kriterien der FindFirst-Methode wird ein String mit der versteckten Spalte des Kombinationsfelds aufgebaut, die die Usernummer enthält.

 

Weitere Tipps & Tricks

30.12.2003

Versteckte Spalten verwenden (Access 97, 2000)

Spalten durch Spaltenbreite verstecken.

Tipp/Trick

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.