以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [建议]Orelse和Andalso有例外,建议完善帮助文档 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93233) |
-- 作者:shenyl0211 -- 发布时间:2016/11/23 13:29:00 -- [建议]Orelse和Andalso有例外,建议完善帮助文档 举例: 在表A的第一列的第1行输入1 在表A的第二列的第2行输入2 Dim a As String ="1" Dim b As String ="2" Tables("表A").Filter ="" 以下代码3选1: Tables("表A").Filter ="第一列 = \'" & a & "\' or 第二列 = \'" & b & "\'" \'正常 Tables("表A").Filter ="第一列 = \'1\' orelse 第二列 = \'2\'" \'提示语法错误:"orelse"运算符后缺少操作数 Tables("表A").Filter ="第一列 = \'" & a & "\' orelse 第二列 = \'" & b & "\'" \'错误同上 例子说明: Orelse和Andalso不能出现在有引号的表达式内,这点在帮助文档中没有介绍,请完善。
|
-- 作者:有点蓝 -- 发布时间:2016/11/23 14:40:00 -- 一个是表达式语法,可用的有:http://www.foxtable.com/webhelp/scr/0102.htm 一个是vb.net语法,参考:http://www.foxtable.com/webhelp/scr/0220.htm,建议完整看一下编程基础这章内容
|
-- 作者:reachtone -- 发布时间:2016/11/23 15:57:00 -- 楼主搞混淆了,您举的这个例子,Filter遵循的实际上是sql语言规范。 |
-- 作者:wyz20130512 -- 发布时间:2016/11/23 16:35:00 -- 是不是可以这样理解:在表达式中只能用Or或And 在非表达式中Or,OrElse,And,AndAlso都可以使用。
|
-- 作者:有点蓝 -- 发布时间:2016/11/23 17:14:00 -- 简单一点,就是在字符串双引号里面的只能用Or或And |
-- 作者:shenyl0211 -- 发布时间:2016/11/23 17:55:00 -- 第一列 = \'1\' 是逻辑表达式 第二列 = \'2\' 是逻辑表达式 orelse 是逻辑运算符 第一列 = \'1\' orelse 第二列 = \'2\' 是逻辑表达式的叠加 if 第一列 = \'1\' orelse 第二列 = \'2\' then 如果有引号,是叠加后的逻辑表达式的表达式,变成了字符串性质: dim Filter as string ="第一列 = \'1\' orelse 第二列 = \'2\'" \'这是字符串表达式,不能用orelse,只能用or Tables("表A").Filter = Filter 至于3楼所说的“Filter遵循的实际上是sql语言规范”,就更不是一般人所能了解的了。 所以,感觉有引号时不能用orelse,只能用or,是否这个规律?对于初学者是否可以不去了解难以理解的或不懂的表达式语法、vb.net语法、sql语法了? [此贴子已经被作者于2016/11/23 17:56:52编辑过]
|
-- 作者:shenyl0211 -- 发布时间:2016/11/23 17:58:00 -- 帮助里需要补充的就是5楼这句话 [此贴子已经被作者于2016/11/23 17:58:32编辑过]
|