|
Private Sub Command28_Click()
Dim wh As String '定义一个字符串变量,用于存放筛选字符串
Dim ctrl As Control '定义一个控件类型的变量,一般在循环中使用它
Dim str_fields As String '定义一个字符串变量,用于存放拼接起来的字段
str_fields = ""
For Each ctrl In Me.Form.Controls '遍历窗体上的所有控件,其目的是为了得到字段名称。当然也可以采用其他方法得到所需字段的名称。
If ctrl.ControlType = acTextBox Then '只对文本框感兴趣,因为文本框才有字段名称
If ctrl.Name <> "Text31" Then '排除 Text31这个文本框控件,因为它与字段名称没球关系
str_fields = str_fields & "[" & ctrl.Name & "] & " '循环拼接字段字符串,将形成诸如:[字段1] & [字段2]...的字符串
End If
End If
Next
wh = Left(str_fields, Len(str_fields) - 3) & " Like '*" & Me.Text31.Value & "*'" 'Left(str_fields, Len(str_fields) - 3)的目的是去掉循环语句加上的最后一个&字符。最后wh形如:[字段1] & [字段2]... & [字符串N] Like '*娜*',其含义是所有字段中只要包含一个娜,就把它们筛选出来
Me.Form.Filter = wh '将wh作为主窗体的筛选字符串
Me.Form.FilterOn = True '打开主窗体的筛选
End Sub
|
|