Access实现在同一文本框中多字段模糊查询

2018-01-08 14:24:00
黄善超
原创
1087

在贴吧中看到有网友有这样的疑问。“在只有一个搜索框的条件下,如何实现两个搜索条件的搜索”

比如,一个学籍管理窗体里,在一个搜索框里可以直接输入名字或者学籍号来搜索(一次只能输其中一种),而不用一个搜索条件弄一个搜索框?即在一个文本框中可以筛选关于多个字段的数据。

一般为了保证查询的速度,我们会一个文本框查询一个条件。当然也不排除上面这种一个文本框多个条件的情况。我们是如何做的呢?


如有表“学生”,字段“学号”和“姓名”,子窗体“学生子窗体”。窗体中按钮“Command1”和文本框“Text0”

方法1、在查询中用“or” 设置多个条件,如下代码:

Private Sub Command2_Click()
    Dim strSql As String
    strSql = "Select * from 学生 where 姓名 like '*" & Me.Text0 & "*' or 学号 like '*" & Me.Text0 & "*' "
    Me.学生_子窗体.Form.RecordSource = strSql
    Me.学生_子窗体.Requery
End Sub






方法2、利用查询作为子窗体记录源

创建一个名为“查询1”的查询。把名字和学籍号合成一个字段,然后用这个查询作为子窗体的记录源。同时隐藏新合并的字段



同理,筛选我们用RecordSource就可以了。代码如下

Private Sub Command2_Click()
    Dim strSql As String
    strSql = "Select * from 查询1 where 信息 like '*" & Me.Text0 & "*'"
    Me.学生_子窗体.Form.RecordSource = strSql
    Me.学生_子窗体.Requery
End Sub





分享