Вы почти у цели, есть только некоторые незначительные синтаксические ошибки SQL.
Я написал это в отдельных строках, чтобы повысить удобочитаемость и облегчить понимание
Me.Filter = "[TaetigkeitsDatum] BETWEEN " & Format(Nz(Me!txtvon, Date),"\#yyyy-mm-dd\#") & " AND " & Format(Nz(Me!txtbis, Date), "\#yyyy-mm-dd\#") & _
" AND [PersonalID] = " & Me.Liste0
If IsNumeric(Me!Kombinationsfeld145) Then
Me.Filter = Me.Filter & " AND [TaetigkeitsKostenstellenIDRef] =" & Me!Kombinationsfeld145
End If
Некоторые изизменения, которые я сделал:
Интервал отключен.Перед каждым And
и именем переменной должен быть пробел.
" & "
между And
и именем переменной не нужен, удалите это.
Я только включилсравнение на Me!Kombinationsfeld145
, если оно числовое.Таким образом, если это Null
или строка нулевой длины, она не будет включена в сравнение.