以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  “OrElse”运算符后缺少操作数(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52298)

--  作者:yyzlxc
--  发布时间:2014/6/12 19:08:00
--  “OrElse”运算符后缺少操作数(已解决)


一段代码,运行后错误提示:“语法错误:“OrElse”运算符后缺少操作数”,应该如何修改,请各位老师指教,谢谢。

pr1 = DataTables("设备盘点明细").Find("(设备ID = \'" & sbid & "\'And 盘点日期 = \'"& rq &"\' And 类别 = \'已盘点\' OrElse (设备ID = \'" & sbid & "\'And 盘点日期 = \'"& rq &"\' And 类别 = \'使用单位不符\'")

[此贴子已经被作者于2014-6-12 19:36:50编辑过]

--  作者:y2287958
--  发布时间:2014/6/12 19:17:00
--  
检查表达式中的空格是否够用
--  作者:有点甜
--  发布时间:2014/6/12 19:19:00
--  

 如下

 

pr1 = DataTables("设备盘点明细").Find("(设备ID = \'" & sbid & "\' And 盘点日期 = \'"& rq &"\' And 类别 = \'已盘点\') Or (设备ID = \'" & sbid & "\' And 盘点日期 = \'"& rq &"\' And 类别 = \'使用单位不符\')")


--  作者:yyzlxc
--  发布时间:2014/6/12 19:20:00
--  
谢谢y2287958的回复,表达式中的空格是指什么?不明白,请指教,谢谢。
--  作者:有点甜
--  发布时间:2014/6/12 19:28:00
--  
 3楼。
--  作者:E_Fox
--  发布时间:2014/6/12 19:29:00
--  
经查发现括号不对,最好用 Cexp 函数,看得比较清楚.
dim flt as string
flt = Cexp( " (设备ID = \'{0}\' And 盘点日期 = \'{1}\' And 类别 = \'已盘点\') OrElse (设备ID = \'{0}\' And 盘点日期 = \'{1}\' And 类别 = \'使用单位不符\')" ,sbid,rq )

--  作者:yyzlxc
--  发布时间:2014/6/12 19:37:00
--  
谢谢甜老师的指教,问题得到解决。谢谢甜老师!!