日期值有多余的空格去掉:
If e.Form.Controls("CheckBox_quxiao").Checked Then
Tables("客户及订单_table_dingdan").Filter = "[日期] =' " & dt & "'"
Else
Tables("客户及订单_table_dingdan").Filter = "[日期] =' " & dt & "' And ([状态] <> '取消' or [状态] Is Null) "
End If
调试对比看看就明白了
msgbox("[日期] ='" & dt & "'")
msgbox("[日期] =' " & dt & "'")
另外,筛选日期值最好使用#符号
If e.Form.Controls("CheckBox_quxiao").Checked Then
Tables("客户及订单_table_dingdan").Filter = "[日期] =#" & dt & "#"
Else
Tables("客户及订单_table_dingdan").Filter = "[日期] =#" & dt & "# And ([状态] <> '取消' or [状态] Is Null) "
End If