【access小品】切掉尾巴--刘晓军筛选代码优化
时 间:2010-07-20 09:43:28
作 者:todaynew ID:10802 城市:武汉
摘 要:筛选优化
正 文:
上周末与版友瑞哥同志讨论一个子窗体数据源问题,看到一段涉及SQL准则部分的写法,对其中代码甚为不解。瑞哥同志告知是从刘晓军同志案例中套用过来的,于是告诉瑞哥了一个简洁写法。今日看到版友 kent_ 73同志又出现同样问题,这是版友 kent_ 73同志的一段筛选代码:
Dim str As String
str = ""
If Not IsNull(Me.Combo2) Then
str = str & "([项目] like '" & Me.Combo2 & "') AND "
End If
If Len(str) > 0 Then
str = Left(str, Len(str) - 5)
End If
Me.表1子窗体.Form.Filter = str
Me.表1子窗体.Form.FilterOn = True
看来刘晓军同志筛选的案例影响很大。不过这段代码简洁的写法应该如下:
Dim str As String
str = ""
If Not IsNull(Me.Combo2) Then
str = str & "([项目] like '" & Me.Combo2 & "') AND "
End If
str=str & "true"
Me.表1子窗体.Form.Filter = str
Me.表1子窗体.Form.FilterOn = True
也就是说将去除字符串尾端的" AND ",改变为在尾端加一个"True"字符串。其原理是:True and True=True;False and True=False;因此尾端加一个True不影响逻辑值的结果。由此推理,这样的筛选代码,最为简洁的写法为:
Dim str As String
str = "True"
If Not IsNull(Me.Combo2) Then
str = str & " AND ([项目] like '" & Me.Combo2 & "')"
End If
Me.表1子窗体.Form.Filter = str
Me.表1子窗体.Form.FilterOn = True
也就是说将“True”作为str的初始值,屁股和脑袋对掉,从整体上看就是切掉尾巴。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access选项卡示例】Ac...(09.09)
- 【Access源码示例】按输入...(09.02)
- 【Access日期区间段查询】...(08.29)
- 【Access日期区间段查询】...(08.27)
- Access怎样才能实现日期时...(08.21)
- 【Access定时打开查询】A...(08.19)
- Access生成固定数量的记录...(08.13)
- Access怎样才能实现日期时...(08.12)
- Access利用导航窗体控件对...(08.03)
学习心得
最新文章
- Access表中的字段名、字段标题...(09.19)
- Access快速开发平台--更改“...(09.18)
- 【中秋及国庆优惠】Access培训...(09.15)
- Access如何将日期型的数值转换...(09.14)
- 英文输入法输入数据中存在单引号引起...(09.11)
- 【Access选项卡示例】Acce...(09.09)
- 让Access光标停留在指定的控件...(09.07)
- 关于Access查询条件里使用通配...(09.06)
- Access报表偷懒制作法--Ac...(09.05)
- Access快速开发平台--窗体数...(09.04)