PDA

Vollständige Version anzeigen : Suchformular


DerSchatten
20.03.2004, 18:35
Hallo Leute,

ich habe mir unter Access XP ein Suchformular gebastelt das mehrere Felder vergleicht und wenn übereinstimmt, die Einträge anzeigt.

Der Code lautet so:
Dim Sql1 As String
Dim Sql2 As String
Dim Sql3 As String

Sql1 = "SELECT * FROM Abfrage_Filmübersicht "
If Bst = "Aus" Then
Sql2 = ""
Else

Sql2 = "WHERE Titel LIKE '" & Forms!Suchen![Filmtitel] & "*' And Erscheinungsland LIKE '" & Forms!Suchen![Erscheinungsland] & "*' And Filmformat LIKE '" & Forms!Suchen![Filmformat] & "*' And Tonformat LIKE '" & Forms!Suchen![Tonformat] & "*' And Medienanzahl LIKE '" & Forms!Suchen![AnzahlMedien] & "*' And Genre LIKE '" & Forms!Suchen![Genre] & "*' And Regisseur = '" & Forms!Suchen![Regisseur] & "' And Erscheinungsjahr LIKE '" & Forms!Suchen![Erscheinungsjahr] & "*' And Bildformat LIKE '" & Forms!Suchen![Bildformat] & "*' And Sprache LIKE '" & Forms!Suchen![Sprache] & "*' And FSK LIKE '" & Forms!Suchen![FSK] & "*'"

Forms!Suchen.Refresh
End If

Sql3 = " ORDER BY Titel;"

Forms!Filmübersicht!Liste.RowSource = Sql1 & Sql2 & Sql3
Forms!Filmübersicht!Liste.Requery
Forms!Filmübersicht!Liste = Null

Das Ergebnis bringt allerdings keine Daten zustande.
Wo liegt der Fehler?

J_Eilers
20.03.2004, 19:35
Hi,

versuchs mal so:

Dim strSQL As String
strSQL = "SELECT * FROM Abfrage_Filmübersicht "

If Bst <> "Aus" Then
Sql2 = strSQL & " WHERE Titel LIKE '" & Me!Filmtitel & "*' AND Erscheinungsland LIKE '" & _
Me!Erscheinungsland & "*' And Filmformat LIKE '" & Me!Filmformat & _
" *' And Tonformat LIKE '" & Me!Tonformat & "*' And Medienanzahl LIKE '" & _
Me!AnzahlMedien & "*' And Genre LIKE '" & Me!Genre & "*' And Regisseur = '" & _
Me!Regisseur & "' And Erscheinungsjahr LIKE '" & Me!Erscheinungsjahr & "*' And Bildformat LIKE '" & _
Me!Bildformat & "*' And Sprache LIKE '" & Me!Sprache & "*' And FSK LIKE '" & Me!FSK & "*'"
End If

strSQL = strSQL & " ORDER BY Titel;"

Debug.Print strSQL
Forms!Filmübersicht!Liste.RowSource = strSQL

Falls es damit nicht geht, wechsel in das VBA-Fenster und drück STRG+G und kopiere den SQL-String in eine leere Abfrage, dort kannst du dann relativ einfach herausfinden, was das Problem ist.

Engeli
21.03.2004, 10:23
Hallo

Schau mal hier.
http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=105482&highlight=suchformular+knowhow30

Gruss Markus

SNowack
21.03.2004, 10:56
Hallo,

handelt es sich denn bei allen Feldern um Text-Felder? Bei FSK und Erscheinungsjahr könnte ich mir durchaus Zahlenfelder vorstellen.