Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
例如要计算某个产品的销售数量,要计算的产品名称由用户输入,假定输入的结果保存在全局变量Vars("产品")中:
Dim Sum As Integer
Sum = DataTables("订单").Compute("Sum(数量)", "[产品] = '" & Vars("产品") & "'")
Compute的第二个参数为计算条件表达式,该表达式分为三部分:
"[产品] = '" & Vars("产品") & "'"
假定全局变量Vars("产品")的值为PD01,组合三部分的内容后,这个表达式就等效于:"[产品] = 'PD01'"
按这上面的意思,Vars("产品") 就已经代表了PD01了,为什么还要加上两个&和两个",变成'" & Vars("产品") & "' 来等效'PD01'?而不是用'Vars("产品")'等效'PD01'
我现在有e.Form.controls("前壳型号") e.Form.controls("前壳喷漆") 两个控件的内容,假设前壳第一个的内容是ABC,第二个控件的内容是DEF,我希望能把他们连接成ABC(DEF),然后将其作为查找条件,该如何修改如下编码
Dim QKXH As DataRow
QKXH = DataTables("后工序临时结果").Find("[型号规格] = '" & e.Form.controls("前壳型号") & " & '(' & " & e.Form.controls("前壳型号") & " & ')''")
Dim QKXH As DataRow
QKXH = DataTables("后工序临时结果").Find("[型号规格] = '" & e.Form.controls("前壳型号").Value & "'")
你要是用的是控件的值,也就是value属性,不是控件本身。
能否给我解释下"[产品] = '" & Vars("产品") & "'"为什么不能是"[产品] = 'Vars("产品")'",而必须加上"[产品] = '" & Vars("产品") & "'" 中我标示的绿色部分?
我现在有几个比较复杂的表达式要合成,弄不清楚这个的话很难完成这些表达式啊!
假定Vars("产品")的只是pd01,如果vars("产品")直接放在双引号中,那么他的值就是vars("产品")这几个字符,而不是pd01.
字符串就是字符串,系统不会智能到从字符串中找出代码来执行的。
那我要把如下这4段内容连接起来,表达式究竟要怎么写啊?
e.Form.controls("前壳型号").Value ( e.Form.controls("前壳喷漆").Value ) 假设前壳第一个的内容是ABC,第二个控件的内容是DEF,我希望能把他们连接成ABC(DEF)
现在可以了,但在帮助里有一句
“表达式本身是一个字符串,所以必须用双引号括起来;表达式内部的字符串,用单引号括起来。”
"(" ")" 这两个括号作为表达式内部的字符串,按上面的意思应该改为单引号,但为什么我改成单引号会说我语法错误,而使用双引号却是正确的呢?
QKXH = DataTables("后工序临时结果").Find("[材料名称] = '" & e.Form.controls("前壳用料").Value & "' And [型号规格] = '" & e.Form.controls("前壳型号").Value & "(" & e.Form.controls("前壳喷漆").Value & ")" & "'")