Dim Filter As
String
With
e.Form.Controls("cmbProduct")
If .Value IsNot
Nothing
Then
Filter =
"产品 =
'" &
.Value & "'"
End
If
End
With
With
e.Form.Controls("cmbCustomer")
If .Value IsNot
Nothing
Then
If Filter > ""
Then
Filter =
Filter & " And "
End
If
Filter = Filter
& "客户 = '" & .Value
& "'"
End
If
End
With
With
e.Form.Controls("cmbEmployee")
If .Value IsNot
Nothing
Then
If Filter >""
Then
Filter =
Filter & " And "
End
If
Filter = Filter
& "雇员 = '" & .Value
& "'"
End
If
End
With
With
e.Form.Controls("StartDate")
If .Value IsNot
Nothing
Then
If Filter >""
Then
Filter =
Filter & " And "
End
If
Filter = Filter
& "日期 >= #" & .Value
& "#"
End
If
End
With
With
e.Form.Controls("EndDate")
If .Value IsNot
Nothing
Then
If Filter >""
Then
Filter =
Filter & " And "
End
If
Filter = Filter
& "日期 <= #" & .Value
& "#"
End
If
End
With
If
e.Form.Controls("rdoYifu").Checked =
True
'
如果付款状态选择了"已付"
If Filter >""
Then
Filter = Filter
& " And "
End
If
Filter = Filter &
"已付款 = True"
End
If
If e.Form.Controls("rdoWeifu").Checked = True '
如果付款状态选择了"未付"
If Filter >"" Then
Filter = Filter
&
"
And "
End If
Filter = Filter
&
"已付款 = False Or
已付款 Is Null"
End If
If
Filter > ""
Then
Tables("订单").Filter = Filter
End If
帮助文件中窗口筛选的代码,如果把窗口中的控件的名称和表中对应列的名称设置成一样的,能不能把这段代码简化一下。比如用FOR EACH语句实现。最好是能把这段写成一段通用的内部函数就更好了。请老师指导一下