以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 表达式中不能嵌套表达式吗? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122667)
|
-- 作者:ts9277
-- 发布时间:2018/7/30 21:43:00
-- 表达式中不能嵌套表达式吗?
此主题相关图片如下:1.png
![dvubb 图片点击可在新窗口打开查看](UploadFile/2018-7/201873021403165725.png)
这个表达式中不能再加一个空值的判断吗?如果不能添加,如果简单的实现如果第一列是空值,则不会自动输入内容 IIF([第一列] is not null and [第一列] in (\'嘉利\',\'卡莱德\'), \'恒道\', \'英豪\'),
|
-- 作者:有点蓝
-- 发布时间:2018/7/30 21:52:00
--
[此贴子已经被作者于2018/7/31 20:50:49编辑过]
|
-- 作者:ts9277
-- 发布时间:2018/7/31 20:44:00
--
IIF( [第一列] in (\'嘉利\',\'卡莱德\'), \'恒道\', \'英豪\') 这种表达式可以实现判断的,但空值的就自动填了英豪,我才想在表达式中加入空值的判断
|
-- 作者:有点蓝
-- 发布时间:2018/7/31 20:52:00
--
IIF([第一列] is null,\'\',IIF( [第一列] in (\'嘉利\',\'卡莱德\'), \'恒道\', \'英豪\'))
|
-- 作者:ts9277
-- 发布时间:2018/8/1 17:02:00
--
好的,谢谢如果是跨表 我在DataColChanged 的事情件写如下 代码( 提示错误“应为结束语句” 是什么情况) 如何改,请老师帮忙看下 If e.DataCol.name="模具名称" Then Dim dr As DataRow Dim filter As String filter="产品名称=\'" & e.DataRow("模具名称") & "\'" dr=DataTables("产品信息").find(filter) If dr IsNot Nothing Then \'如果找到 If dr("客户") In ("嘉利","温州嘉利","卡莱德") Then \'如果客户是 嘉利,温州嘉利,卡莱德 其中的一个 e.DataRow("供应商")="恒道" Else e.DataRow("供应商")="英豪" End If End If End If
|
-- 作者:有点甜
-- 发布时间:2018/8/1 17:11:00
--
If dr("客户") = "嘉利" OrElse dr("客户") = "温州嘉利" OrElse dr("客户") = "卡莱德" Then
[此贴子已经被作者于2018/8/1 17:12:01编辑过]
|
-- 作者:ts9277
-- 发布时间:2018/8/2 8:08:00
--
这个语句无法使用IN 函数吗? 如果需要判别的内容比较多,那这个IF 语句要很长了
|
-- 作者:有点甜
-- 发布时间:2018/8/2 8:52:00
--
改成
Dim ary() = {"嘉利","温州嘉利","卡莱德"}
If array.indexof(ary, dr("客户")) >= 0 Then
|