ACCESS子窗体筛选(模糊查询)-孙雪强
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


ACCESS子窗体筛选(模糊查询)

发表时间:2021/3/20 21:43:53 评论(0) 浏览(6840)  评论 | 加入收藏 | 复制
   
摘 要:ACCESS子窗体筛选(模糊查询)。
正 文:
ACCESS子窗体筛选(模糊查询)
做空白窗体,根据需要筛选的字段设置控件和子窗体,如图:

点击图片查看大图

上图是水浒座次表筛选窗体,设置了两个筛选字段,分别是“座次”和“姓名”。

设计思路是利用vba设置子窗体的数据源属性(recordsource),根据“座次”和“姓名”筛选出符合这两个条件的数据显示,其中“姓名”字段要模糊查询。
窗体中添加按钮,按钮的click事件上写如下代码:

Private Sub btnCX_Click()
Dim str As String
str = ""
If Not IsNull(Me.座次) And IsNull(Me.姓名) Then
    str = "where [108将].[座次]=" & Me.座次     
ElseIf Not IsNull(Me.姓名) And IsNull(Me.座次) Then
    str = "where [108将].[姓名] like '*" & Me.姓名 & "*'"    
ElseIf IsNull(Me.座次) And IsNull(Me.姓名) Then
    str = ""    
Else
    str = "where [108将].[座次]=" & Me.座次 & "or [108将].[姓名] like '*" & Me.姓名 & "*' " 
End If
    Me.Ctl108将_子窗体.Form.RecordSource = "select * from [108将] " & str
    Me.Ctl108将_子窗体.Form.Requery
End Sub

设计思想如下
1、“座次”有内容,“姓名”为空时,代码
 str = "where [108将].[座次]=" & Me.座次
因“座次”为数字型,用&连接即可。
2、“姓名”有内容,“座次”为空时,代码
str = "where [108将].[姓名] like '*" & Me.姓名 & "*'"
此处因“姓名”为文本型,所以需要使用变量引用所使用的 ‘“& 文本字段变量 & ”’ ,就是 单引号,双引号,&,文本型变量,&,双引号,单引号。
为了使用通配符实现模糊查询,在单引号和双引号之间加入*,有一点要注意,单引号、*、双引号之间不能够有空格。

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access源码示例】模糊筛选\模糊查询,文本框筛选列表框数据\...  【红尘如烟  2012/5/12】
【Access图书管理系列】图书检索功能,带选项组的主子窗体查询示...  【麥田  2015/12/4】
Access窗体查询制作步骤第一课,Access创建模糊查询窗体第...  【麥田  2017/8/17】
【Access源码】组合框模糊查询完美实现--只需一行代码  【表哥  2018/7/13】
【Access窗体查询示例】Access按双条件组合查找记录的示例...  【麥田  2018/11/2】
子窗体子模糊查询  【阿四  2020/8/18】
【Access活学活用示例】学习网站上示例做的主子窗体查询功能分享...  【麥田  2020/9/18】
常见问答
技术分类
相关资源
文章搜索
关于作者

孙雪强

文章分类

文章存档

友情链接