以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态表达式合成示例  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124891)

--  作者:wky10652008
--  发布时间:2018/9/15 17:18:00
--  动态表达式合成示例

动态表达式的合成是编辑的基础,我们必须掌握,只有掌握了动态表达式的合成,才能写出灵活的语句,才能实现复杂的功能,下面简单的总结一下动态表达式的合成方法,以让像我一样的初学者能尽快的掌握动态表达式的合成方法。

 

动态表达式的合成注意事项:
1、字符 必须用 \' 括起来,如: [姓名]=\'李小花\'
2、日期 必须用 # 括起来,如: [日期]=#9/15/2018#
3、数值 不需要什么括起来,直接使用,如:[单价]=45
4、多条件判断,满足其中之一的条件,用 OR 连接
5、多条件判断,同时满足,用 And 连接
6、多条件执行过程中,And优先于OR,可用 () 来改变优先级。

 

 

动态表达式的合成示例:
Dim m As Integer=18
Dim s As String="PD05"
Dim s1 As String="CS01"
Dim d As Date=#1/3/2009#
Dim k As String="w"
Dim i As String="(18,27,30)"
Dim st1 ,st2,st3 ,st4,st5 ,st6  ,st7  ,st8 As String

 

 

st1="[单价]=" & m
st2="[产品]=\'" & s & "\'"
st3="[日期]=#" & d & "#"
st4="[客户]=\'" & s1 & "\' And [单价]=" & m & " And [日期]=#" & d & "#"
st5="[客户]=\'" & s1 & "\' or [单价]=" & m & " or [日期]=#" & d & "#"
st6="([客户]=\'" & s1 & "\' or [单价]=" & m & ") And [日期]=#" & d & "#"
\'st7="[单价] In (18,27,30)"
st7="[单价] In " & i
\'st8="[客户] like \'w%\'"
st8="[客户] like \'" & k & "%\'"

 

 

MessageBox.Show("数值型表达式:  " & st1)
Tables("订单").Filter= st1
MessageBox.Show("字符型表达式:  " & st2)
Tables("订单").Filter= st2
MessageBox.Show("日期型表达式:  " & st3)
Tables("订单").Filter= st3
MessageBox.Show("And表达式:  " & st4)
Tables("订单").Filter= st4
MessageBox.Show("OR表达式:  " & st5)
Tables("订单").Filter= st5
MessageBox.Show("混合表达式:  " & st6)
Tables("订单").Filter= st6
MessageBox.Show("IN表达式:  " & st7)
Tables("订单").Filter=st7
MessageBox.Show("Like表达式:  " & st8)
Tables("订单").Filter=st8

 

以上示例包括了我们在编程过程中会遇到的情况。

 

[此贴子已经被作者于2018/9/15 17:20:08编辑过]

--  作者:有点甜
--  发布时间:2018/9/16 10:54:00
--  
嗯嗯,不错。