以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]编译错误:应为标识符  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=47948)

--  作者:jnletao
--  发布时间:2014/3/20 10:23:00
--  [求助]编译错误:应为标识符
保存代码提示:
---------------------------
错误
---------------------------
编译错误:应为标识符。



错误代码:
FilterStr = FilterStr & " And ([制单人] = \'" & Sstr & "\' Or [修改人] = \'" & Sstr & "\' Or [财务审核人] = \'" & Sstr & "\' Or " &_
            "[主管审核人] = \'" & Sstr & "\' Or [经办人] = \'" & Sstr & "\' Or [结算申请人] = \'" & Sstr & "\' Or [结算人] = \'" & Sstr & "\' Or " &_
            " [封账人] = \'" & Sstr & "\' Or [取消操作人]  = \'" & Sstr & "\') "
---------------------------
确定   
---------------------------
没发现错呀?


--  作者:Bin
--  发布时间:2014/3/20 10:25:00
--  
别用换行了,长就长吧.换行更难看出错误.  我目测也没看出哪里有问题.
--  作者:Bin
--  发布时间:2014/3/20 10:26:00
--  
FilterStr = FilterStr & " And ([制单人] = \'" & Sstr & "\' Or [修改人] = \'" & Sstr & "\' Or [财务审核人] = \'" & Sstr & "\' Or " & _
            "[主管审核人] = \'" & Sstr & "\' Or [经办人] = \'" & Sstr & "\' Or [结算申请人] = \'" & Sstr & "\' Or [结算人] = \'" & Sstr & "\' Or " & _
            " [封账人] = \'" & Sstr & "\' Or [取消操作人]  = \'" & Sstr & "\') "


这一天看看.换行符要有空格   &  _      这样没空格可能不行&_

--  作者:jnletao
--  发布时间:2014/3/20 10:27:00
--  
图片点击可在新窗口打开查看 ,高见 ,取消换行就好了
--  作者:lsy
--  发布时间:2014/3/20 10:30:00
--  

这样的筛选条件,用循环比较简洁。


--  作者:jspta
--  发布时间:2014/3/20 10:35:00
--  
去写这种循环是一种极其痛苦的一件事情,应该定义一种函数,专门负责处理
--  作者:lsy
--  发布时间:2014/3/20 10:51:00
--  

Dim FilterStr As String = "经理 = \'吴某某\'"
Dim flt As String
Dim Sstr As String = "ABC"

For Each s As String In "制单人|修改人|财务审核人|主管审核人|经办人|结算申请人|结算人|封账人|取消操作人".Split("|")
    flt + = " Or " & s & " = \'" & Sstr & "\'"
Next
FilterStr = FilterStr & " And (" & flt.SubString(4) & ")"
Output.Show(FilterStr)