Probleme bei Suchen im Formular bei Access

Habe gerade begonnen meine erste Access Datenbank (Access 2003) zu erstellen.
Mein Problem sieht wie folgt aus:

Meine Suchformular ist irgendwie auf 5 Suchfelder beschränkt, ab dem 6.tem feld kommt folgender Fehler:
Laufzeitfehler 2448
Sie können diesem Objekt keinen Wert zu weisen.

Bitte helft mir.

Vielen Dank schon einmal im vorraus.

Hier ist mein Quellcode

Option Compare Database
Option Explicit

Private myCriteria As String

Private Function Filterbedingung() As String
Dim ArgCount As Integer

ArgCount = 0
myCriteria = „“
SQLString Me!Text86_Suchen, „Nachname“, myCriteria, ArgCount, 2
SQLString Me!Text88_Suchen, „Vorname“, myCriteria, ArgCount, 2
SQLString Me!Text90_Suchen, „Geburtsdatum“, myCriteria, ArgCount, 2
SQLString Me!Text94_Suchen, „Geschlecht“, myCriteria, ArgCount, 2
SQLString Me!Text96_Suchen, „Behandler“, myCriteria, ArgCount, 4
SQLString Me!Text98_Suchen, „Behandlerübergabe am“, myCriteria, ArgCount, 2
SQLString Me!Text100_Suchen, „Neuer Behandler“, myCriteria, ArgCount, 4

If myCriteria = „“ Then myCriteria = „True“
Filterbedingung = myCriteria
End Function

Private Sub BtnFilterOff_Click()
Me.FilterOn = False
myCriteria = „“
Me!Text86_Suchen = Null
Me!Text88_Suchen = Null
Me!Text90_Suchen = Null
Me!Text94_Suchen = Null
Me!Text96_Suchen = Null
Me!Text98_Suchen = Null
Me!Text100_Suchen = Null
End Sub

Private Sub Befehl17_Click()

End Sub

Private Sub BtnFilterOn_Click()
Me.Filter = Filterbedingung
Me.FilterOn = True
End Sub

Private Sub endbefund_loeschen_Click()

End Sub

Private Sub endbefund_suchen_Click()

End Sub

Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
End Sub

Private Sub Nachname_Bezeichnungsfeld_Click()

End Sub

Option Compare Database
Option Explicit

Public Sub SQLString(FieldValue As Variant, FieldName As String, _
Criteria As String, ArgCount As Integer, _
Typ As Integer, Optional bAnd As Boolean = True)

’ Erstelle Kriterien für die WHERE-Klausel.
If Nz(FieldValue, „“) „“ Then
If bAnd Then
’ Füge „Und“ hinzu, falls andere Kriterien vorhanden sind.
If ArgCount > 0 Then Criteria = Criteria & " AND "
Else
’ Füge „Oder“ hinzu, falls andere Kriterien vorhanden sind.
If ArgCount > 0 Then Criteria = Criteria & " OR "
End If
Select Case Typ
Case 1 'Datum
Criteria = Criteria & FieldName & „= #“ & _
Format(CDate(FieldValue), „mm-dd-yyyy“) & „#“
Case 2 'String Like
Criteria = Criteria & FieldName & " Like ‚*" & FieldValue & "*‘"
Case 3 ’ Zahl
Criteria = Criteria & FieldName & " = " & Str(FieldValue)
'Fehlendes = eingefuegt Willi Wipp 2004.10.07
'Fehlendes Str(…) eingefuegt Willi Wipp 2007.08.07
Case 4 'String =
Criteria = Criteria & FieldName & " = ‚" & FieldValue & "‘"
Case 5 'Ja/nein
If FieldValue = „Ja“ Or FieldValue = „True“ Or _
FieldValue = True Then
Criteria = Criteria & FieldName & " = -1"
Else
Criteria = Criteria & FieldName & " = 0"
End If
End Select
’ Inkrementiere die Zahl der Argumente.
ArgCount = ArgCount + 1
End If
End Sub

Hallo,

es fallen mir zwei Fehlerquellen auf (neben dem unnötig viel zu komplizierten Code):

Das Datum ist falsch für den SQL-String formatiert. Richtig wäre:

Format(CDate(FieldValue), „yyyy-mm-dd“ ) & „#“

Manche Feldnamen enthalten Leerzeichen, was tunlichst und dringend zu vermeiden ist. Mindestens sind solche Namen in Eckklammern zu setzen.

btw: (hier aber nicht zutreffend) Auch keine reservierten Wörter für Felödnamen verwenden.

Viele Grüße vom Bodensee
Franz, DF6GL