2016-09-11 2 views
1

ich versuche, Aufzeichnungen zwischen zwei Daten auf einem geteilten Form durch Schaltfläche Suchen zu filtern, die den folgenden CodeSyntaxfehler 3075 in einer anderen Prozedur aufrufen

Sub search() 

Dim strCriteria ,taSk As String 

Me.Refresh 
If IsNull(Me.txtDiaryDatefrom) Or IsNull(Me.txtDiaryDateTo) 
Then 
    MsgBox "Please Enter Date Range", vbInformation, "Date Range Required" 
    Me.txtDiaryDatefrom.SetFocus 
Else 
    strCriteria = "([DiaryDate]>= # " & Me.txtDiaryDatefrom & " # And [DiaryDate] <= #" & Me.txtDiaryDateTo & " #)" 
    taSk = "SELECT * from tblDiary where (" & strCriteria & ")" 
    DoCmd.ApplyFilter , taSk 
End If 

End Sub 

Bei der Ausführung ruft gibt es die Laufzeitfehler 3075 Lesen

Syntaxfehler in Abfrage-Ausdruck ‚Select * from tblDiary .....

Könnte jemand herausfinden, was benötigt wird, um es zu beheben ??

Antwort

1

Sie müssen die Leerzeichen zwischen den Hashes entfernen.

"([DiaryDate]>= #" & Me.txtDiaryDatefrom & "# And [DiaryDate] <= #" & Me.txtDiaryDateTo & "#)"

Ich würde die Abfrage ändern, so dass das Ende [DiaryDate] < Date + 1. Dadurch wird sichergestellt, dass Datensätze mit Datums-/Uhrzeitwerten nicht versehentlich herausgefiltert werden.

"([DiaryDate]>= #" & DateValue(Me.txtDiaryDatefrom) & "# And [DiaryDate] < #" & DateValue(Me.txtDiaryDateTo) + 1 & "#)"

Verwandte Themen