Hallo,
Habe in mehreren kleinen Access Applikationen mit SQL Filtern gearbeitet, die ein UFO mit der Recordsource Eigenschaft aktualisieren (in Access 2002 und 2007). Habe jetzte aber ein Problem mit einem einfachen Filter, den ich nicht lösen kann. Ich habe eine abgespeckte Version der Access Applikation angehängt mit dem betroffenen Formular, das ich nicht zum Laufen bringe. Wäre für jeden Hinweis dankbar.
Grüße,
Ernst
[Anhang gelöscht durch Administrator]
Hallo,
Option Compare Database
Option ExplicitPrivate SQL As String
Private Sub MakeSQL()
Dim SQL As String, Krit As String
Krit = ""
If Not IsNull(Me!cmbCategory) Then Krit = Krit & " AND Category LIKE '" & Me!cmbCategory & "*'"
If Not IsNull(Me!cmbSearchTerm) Then Krit = Krit & " AND Question LIKE '*" & Me!cmbSearchTerm & "*'"
SQL = "SELECT * FROM QuestionsTable "
If Krit <> "" Then
Krit = Mid(Krit, 5)
SQL = SQL & "WHERE " & Krit
End If
End Sub
Private Sub Befehl30_Click()
MakeSQL
Me!ufrmQuestionsTable.Form.RecordSource = SQL
End Sub
und:
Public Function SQLListe(SQL As String, _
Optional SepR As String = ";", Optional SepF As String = ";", _
Optional NoNullFields As Boolean = True) As String
'
' Die Felder, die mit dem SQL-String gewonnen werden,
' werden feldweise mit SepF, datensatzweise mit SepR getrennt
' Wenn NoNullFields gesetzt ist, werden leere Felder unterdrückt
'
Dim DB As DAO.Database, rs As DAO.Recordset, i As Long, Res As String, Tmp As String
On Error Resume Next
Set DB = CurrentDb()
mit Verweis setzen auf DAO3.6 Library
Guten Tag Franz,
da habe ich wohl einiges falsch eingestellt gehabt - so funktioniert es aber wieder. Ich habe in einer anderen Applikation einen ähnlichen Filter ohne den DAO Verweis am Laufen aber ich frage jetzt lieber nicht, was dort alles anders eingestellt ist :). Dazu fehlt mir einfach das Access Basiswissen. VIELEN DANK für die Hilfe.