Mai 17, 2021, 15:29:57

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Aufwendige Suche im Formular

Begonnen von Marlono, Februar 17, 2021, 15:19:27

⏪ vorheriges - nächstes ⏩

Marlono

Hallo zusammen,
es geht um eine etwas aufwendige Suche im Formular bei der mehrere Kriterien erfüllt sein sollen.
Ich füge hier mal zwei Screenshots an..
Screenshot_Formular
Ausschnitt_Suchen
Sie dürfen in diesem Board keine Dateianhänge sehen.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Das Suchergebnis soll im Formular und im Listenfeld angezeigt werden.
Das Formular hat eine Tabelle als Datenherkunft.
Dier Felder die durchsucht werden, sind in der Tabelle als TEXT bzw. die Alter_von und Alter_bis Variablen als Ganzzahl definiert.
Soweit so gut.
Die Suche nur nach Feld ,,Träger_Name" ist kein Problem.
Das funktioniert über Eingabe im Bereich ,,Träger Suchen" und dann auf Klicken der Lupe.

Mein Problem ist jetzt die Suche nach Einrichtung + Altersbereich + Geschlecht.
Alter_von und Alter_bis wird als Ganzzahl eingegeben und das Geschlecht wird mit w oder m oder * (für alle Geschlechter) eingegeben.
Die Einrichtungs- Kriterien werden im Such Bereich in den Kontrollkästchen angeklickt und hierbei können auch mehrere ausgewählt werden.
Die Felder im Formulars die im Suchergebnis erscheinen, sind alle vom Datentyp Text und haben den Inhalt JA ODER NEIN (Ja ODER Nein)


Ich habe angefangen mit folgendem Statement
Schaltfläche cmdSuchen
Code
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub cmdSuchen_Click()

Dim Antwort As VbMsgBoxResult
Dim strNewRecord As String
Dim strNewRecord_Liste As String
   
   ' Inobhutnamestellen
   If Me.contrl_Inobhutnahmestellen = -1 Then
   
 
    strNewRecord = "SELECT * FROM Jugendhilfe " _
        & " WHERE Inobhutnahmestellen = 'JA'" _
        & " AND Geschlecht LIKE '*" & Me!txtSuchGeschlecht & "*'" _
        & " AND Alter_von >= " & Me!txtAltjahrvon & "" _
        & " AND Alter_von <= " & Me!txtAltjahrbis
   
         
    strNewRecord_Liste = "SELECT * FROM Jugendhilfe " _
        & " WHERE Inobhutnahmestellen = 'JA'" _
        & " AND Geschlecht LIKE '*" & Me!txtSuchGeschlecht & "*'" _
        & " AND Alter_von >= " & Me!txtAltjahrvon & "" _
        & " AND Alter_von <= " & Me!txtAltjahrbis
   
         
    Me.RecordSource = strNewRecord
    Me.lstliste.RowSource = strNewRecord_Liste
    Me.txtRecordNos.Visible = True
   
   
   
    ' Inobhutnamestellen,Tagesgruppe
    ElseIf Me.contrl_Inobhutnahmestellen = -1 And Me.contrl_Tagesgruppe = -1 Then
   
   
   
   strNewRecord = "SELECT * FROM Jugendhilfe " _
        & " WHERE Inobhutnahmestellen = 'JA'" _
        & " WHERE Tagesgruppe = 'JA'" _
        & " AND Geschlecht LIKE '*" & Me!txtSuchGeschlecht & "*'" _
        & " AND Alter_von >= " & Me!txtAltjahrvon & "" _
        & " AND Alter_von <= " & Me!txtAltjahrbis
   
         
    strNewRecord_Liste = "SELECT * FROM Jugendhilfe " _
        & " WHERE Inobhutnahmestellen = 'JA'" _
        & " WHERE Tagesgruppe = 'JA'" _
        & " AND Geschlecht LIKE '*" & Me!txtSuchGeschlecht & "*'" _
        & " AND Alter_von >= " & Me!txtAltjahrvon & "" _
        & " AND Alter_von <= " & Me!txtAltjahrbis
   
         
    Me.RecordSource = strNewRecord
    Me.lstliste.RowSource = strNewRecord_Liste
    Me.txtRecordNos.Visible = True
   
    End If
    End Sub
Als Beispiel bei anklicken der Kontrollkästchen ,,Inhobhutnahmestellen" und   ,,Tagesgruppe" im Suchbereich.
Wenn ich aber mit dieser Methode alle möglichen Kombinationen abdecken möchte wird das zu groß für die Prozedur.
Außerdem denke ich, dass es einen sehr viel einfacheren und komfortableren Weg gibt.
Ich habe leider wenig bis keine Ahnung von Funktionen daher bin ich auf Hilfe angewiesen.
Kann mir jemand weiterhelfen?
Gruß
Marlono




MzKlMu

Hallo,

siehe:

https://www.ms-office-forum.net/forum/showthread.php?t=373117

Es ist unerwünscht, die gleiche Frage gleichzeitig in mehreren Foren zu stellen. Siehe hierzu die Forenregeln.
Gruß
Klaus

Marlono

Hallo!
Danke für die Info.
Ich möchte dann diesen Beitrag hier im Forum wieder löschen.
Wenn du mir noch sagen kannst, wie das geht, wäre ich dir dankbar
Gruß

Marlono

Das Problem der Suche wurde mit der Lösung..

"Suchformular in 10 Minuten erstellt" gelöst.

Gruß
 

Marlono

Neuigkeiten: Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Wo finde ich diesen Knopf?