Foxtable(狐表)用户栏目专家坐堂 → datacolcharged事件,导入数据时,多列变化总是不行


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

主题:datacolcharged事件,导入数据时,多列变化总是不行

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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
datacolcharged事件,导入数据时,多列变化总是不行  发帖心情 Post By:2023/12/21 17:52:00 [只看该作者]


Select Case e.DataCol.Name
    Case "销方名称","货物或应税劳务名称","fa piaopiao种","fa piao归类"
        Dim filter1,filter2,filter3,filter4 As String

            filter1 ="供应商名称= '" & e.DataRow("销方名称") & "'and 开piao内容= '" & e.DataRow("货物或应税劳务名称") & "'and fa piaopiao种= '" & e.DataRow("fa piaopiao种") & "' and 经营单位= '"& _jydw &"'"
filter2 ="供应商名称= '" & e.DataRow("销方名称") & "'and fa piaopiao种= '" & e.DataRow("fa piaopiao种") & "' and 经营单位= '"& _jydw &"'"
  Dim pr1 As DataRow
       
            pr1 = DataTables("凭证规则").sqlFind(filter1)
            If pr1 IsNot Nothing Then
  e.DataRow("名称") = pr1("名称")
            end if
End Select

以上代码写在datacolcharged事件中。
导入EXCEL数据时,filter1为空,pr1也能找到。好奇怪,要怎么改?

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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
  发帖心情 Post By:2023/12/21 17:55:00 [只看该作者]

 象这种多列条件,是不是其中一列为空,那么filter是不是就不成立 ?是不是每一列都要判断一下是否为空?要怎么写?

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/21 20:24:00 [只看该作者]

其中一列为空条件就不成立了。

具体要什么效果?比如上面的4个列,4个列都有数据就查4个列?只有3个列有数据就只查3个列?

Select Case e.DataCol.Name
    Case "销方名称","货物或应税劳务名称","fa piaopiao种","fa piao归类"
dim filter as string = "经营单位= '" & _jydw &"'"
dim nms1() as string = {"销方名称","货物或应税劳务名称","fa piaopiao种"}
dim nms2() as string = {"供应商名称","开piao内容","fa piaopiao种"}
for i as integer = 0 to nms1.length - 1
if e.DataRow.isnull(nms1(i)) = false then
filter = filter & " and " & nms2(i)  & " = '" & e.DataRow(nms1(i)) & "'"
end if
next
            pr1 = DataTables("凭证规则").sqlFind(filter )
            If pr1 IsNot Nothing Then
 e.DataRow("名称") = pr1("名称")
            end if

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


加好友 发短信
等级:童狐 帖子:257 积分:2448 威望:0 精华:0 注册:2018/5/21 16:49:00
  发帖心情 Post By:2023/12/21 21:07:00 [只看该作者]

对的。就是你说的意思。先查四个条件都满足的。然后找3个条件满足的。
filter1 ="供应商名称= '" & e.DataRow("销方名称") & "'and 开piao内容= '" & e.DataRow("货物或应税劳务名称") & "'and fa piaopiao种= '" & e.DataRow("fa piaopiao种") & "' and 经营单位= '"& _jydw &"'"
filter2 ="供应商名称= '" & e.DataRow("销方名称") & "'and fa piaopiao种= '" & e.DataRow("fa piaopiao种") & "' and 经营单位= '"& _jydw &"'"
filter3 ="开piao内容= '" & e.DataRow("货物或应税劳务名称") & "'and fa piaopiao种= '" & e.DataRow("fa piaopiao种") & "' and 经营单位= '"& _jydw &"'"
 filter4 ="fa piao归类= '" & e.DataRow("fa piao归类") & "' and 经营单位= '"& _jydw &"'"

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/21 21:11:00 [只看该作者]

您这个和我说的又不是一回事了。4楼这种只能分开,查4次

 回到顶部