Foxtable(狐表)用户栏目专家坐堂 → 两段代码等效吗?请高手指点?


  共有3856人关注过本帖树形打印复制链接

主题:两段代码等效吗?请高手指点?

帅哥哟,离线,有人找我吗?
wyz20130512
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1242 积分:9380 威望:0 精华:0 注册:2013/5/12 9:22:00
两段代码等效吗?请高手指点?  发帖心情 Post By:2013/12/9 15:33:00 [只看该作者]

If e.DataRow("gysh") = "汪春阶" Or e.DataRow("gysh") = "管炳芳" Or e.DataRow("gysh") = "王逢礼" Or e.DataRow("gysh") = "陈柏安" Or e.DataRow("gysh") = "陈春桥" Or e.DataRow("gysh") = "叶景辉" Or e.DataRow("gysh") = "赵友玲" Then
    e.DataRow("rkshl") = e.DataRow("grshl")
End If

 

If e.DataRow("gysh") In ("汪春阶","管炳芳","王逢礼","陈柏安","陈春桥","赵友玲","叶景辉","李三","赖红平") Then
    e.DataRow("rkshl") = e.DataRow("grshl")
End If

 

第一段代码执行没错,而后段却报错?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/9 15:37:00 [只看该作者]

第二段是错误的,代码并没有这样的语法,你把SQL 和表达式中的语法放进来使用肯定是不可以的.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/9 15:38:00 [只看该作者]

这种情况你可以考虑使用 select case http://www.foxtable.com/help/topics/0224.htm

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1242 积分:9380 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2013/12/9 15:38:00 [只看该作者]

上述代码是表中的hc_DataColChanged(某列内容发生变化后,触发该事件,),"hc”是后厨的意思。"gysh"是供应商,"grshl"是购入数量,"rkshl"是入库数量。

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1242 积分:9380 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2013/12/9 15:48:00 [只看该作者]

还是不理解,可帮助文档“条件表达式”中可以这样使用的呀?是的,我用Select Case 实现了第一段代码的简化。

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1242 积分:9380 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2013/12/9 15:50:00 [只看该作者]

示例十一

筛选产品为PD01、PD02、PD03的行:

产品 In ('PD01','PD02','PD03')

或者

产品 = 'PD01' or 产品 = 'PD02' or 产品 = 'PD03'

显然这个时候,用In运算符要简洁很多。

记得数值型的列,值不要用单引号括起来,例如:

[订单号] In (1, 3, 4, 6, 7,12)

而日期型的列,值需要用符号#括起来,例如:

[日期] In (#7/2/2012#, #7/12/2012#, #8/30/2012#)


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/9 15:53:00 [只看该作者]

有什么不理解的,2楼不是很清楚明确 的告诉你了吗?

代码是代码 表达式是表达式,  是两个不同的东西.

你把表达式中的语法放进来使用肯定是不可以的.

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1242 积分:9380 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2013/12/9 16:17:00 [只看该作者]

谢谢!慢慢地消化吧。

 回到顶部