SCHWERPUNKT

Suche in Daten mit m:n-Beziehungen

Zusammenfassung

Mit den hier vorgestellten Techniken kann man Daten einer m:n-Beziehung nach bestimmten Werten der einen Seite der Beziehung durchsuchen. Das hilft in vielen Fällen weiter – egal ob Sie wie hier bestimmte Mitarbeiter oder eine Mahlzeit mit bestimmten Zutaten oder ein Fahrzeug mit Ihrer Wunschausstattung suchen.

Bild 9: Entwurf des Formulars zur Auswahl konkreter Skills.
Bild 9: Entwurf des Formulars zur Auswahl konkreter Skills.

Private Sub SucheAktualisieren()
Dim i As Integer
Dim strKriterium As String
For i = 1 To 5
If Not IsNull(Me("cboSkill" & i)) Then
strKriterium = strKriterium & "Or (tblPersonenSkills.SkillID) = " &
Me("cboSkill" & i) & " "
End If
Next i
strKriterium = Mid(strKriterium, 4)
Me.RecordSource = "SELECT tblPersonen.PersonID, tblPersonen.PersonName,
Count(tblPersonen.PersonID) AS AnzahlvonPersonID FROM tblPersonen INNER JOIN
tblPersonenSkills ON tblPersonen.PersonID = tblPersonenSkills.PersonID WHERE " &
strKriterium & " GROUP BY tblPersonen.PersonID, tblPersonen.PersonName ORDER BY
Count(tblPersonen.PersonID) DESC;"
End Sub