采用函数形式实现遍历子窗体文本框模糊查询文本内容-cspa
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


采用函数形式实现遍历子窗体文本框模糊查询文本内容

发表时间:2013/7/16 11:03:52 评论(1) 浏览(10001)  评论 | 加入收藏 | 复制
   
摘 要:采用函数形式实现遍历子窗体文本框模糊查询文本内容功能的好处是使用简单、易学,适用性强,几乎不用编写代码。
正 文:
 

    动态窗体文本内容模糊查询功能可实现使用者边输入查询条件边反馈查询结果的效果,给使用者以良好的应用体验。我在本网站查到一杯绿茶老师发表的《遍历窗体全字段模糊查询》的文章,学来受益匪浅。遗憾的是老师的方法是一个具体的实例,使用时需要修改,且需对每处查询均要重复编写代码。

    现我将其改写为函数形式。改写后其优点一是通用性。一个函数可以服务于所有需要对子窗体文本框文本内容进行查询的过程;二是易用性。由于采用函数形式,且该函数仅有输入查询内容的字段名称和子窗体名称2个参数,编写查询语句和查询条件、执行查询过程等全部由函数自动完成,极大简化了编写程序代码的过程,也有利于代码的修改维护。

    唉,懒得写示例了,直接上代码吧:

 

Sub subCX(objTxtName As Object, objWinName As Object)

'===========================================================

'示例名称:通用子窗体文本动态模糊查询函数

'示例作者:cspa

'联系方式:QQ:1344866591

'制作日期:2013-7-15

'===========================================================

'参数说明:1objTxtName:主窗体上用于输入查询内容的字段名称;

'              2objWinName:欲查询内容的字段所在的子窗体名称。

'调用说明:在主窗体上用于输入查询内容的字段的change事件中输入:

'          subCX me.[用于输入查询内容的字段名称],me.[欲查询内容的字段所在的子窗体名称]

'          即完成对该函数的调用。

Dim strWhere As String

    Dim ctl As Control

    Dim ctlname As String

   

   

   strWhere = Trim$(objTxtName.Text)

    For Each ctl In objWinName.Form.Controls

        If TypeOf ctl Is TextBox Then

            ctlname = ctlname & "[" & ctl.Name & "] & "

         End If

    Next

    ctlname = Left(ctlname, Len(ctlname) - 3)

    strWhere = "" & ctlname & "  like  '*" & strWhere & "*'"

    objWinName.Form.Filter = strWhere

    objWinName.Form.FilterOn = True

End Sub

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
[access查询]遍历--access常用手段  【todaynew  2009/12/14】
【access小品】遍历天下 不畏浮云  【todaynew  2010/4/5】
遍历窗体控件  【Aaron  2011/6/17】
【access源码示例】模糊筛选\模糊查询,文本框筛选列表框数据\...  【红尘如烟  2012/5/12】
【Access源码示例】Access组合框下拉列表模糊查询功能的完...  【红尘如烟  2013/3/5】
遍历窗体全字段模糊查询  【一杯绿茶  2013/7/1】
常见问答
技术分类
相关资源
文章搜索
关于作者

cspa

文章分类

文章存档

友情链接