Foxtable(狐表)用户栏目专家坐堂 → 求助,怎么隐藏查询table中无数据的列


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

主题:求助,怎么隐藏查询table中无数据的列

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


加好友 发短信
等级:婴狐 帖子:38 积分:332 威望:0 精华:0 注册:2020/12/12 14:26:00
求助,怎么隐藏查询table中无数据的列  发帖心情 Post By:2021/1/12 16:25:00 [只看该作者]

各位大神门,我需要根据每一piao货给客户做费用确认,一piao货包含多个集装箱,每个集装箱在运输过程中产生的费用科目可能不同,所以数据比较分散,我想做到如果单piao货里多个集装箱的那些都没有费用的列隐藏起来。。。  table类型是SQLQuery,数据源sql语句如下:

sele ct 销售订单.订单编号,Substring(销售订单.订单编号,4,4) as 年度,Substring(销售订单.订单编号,8,2) as 月份,客户.公司名称 as 客户名称,销售应收.* ,(销售应收.铁路运费+销售应收.报关费+销售应收.拖车费+销售应收.装箱费+销售应收.加固费+销售应收.单据费+销售应收.单证费+销售应收.查验费+销售应收.滞留费+放射放行费+销售应收.退运运费+落地交付费+rmb杂费+买箱款) as 人民币应收,(销售应收.境外运费usd+销售应收.美元杂费) as 美元应收 from {销售订单},{客户},{销售应收} whe re {销售订单}.客户={客户}.客户ID and {销售订单}.订单编号={销售应收}.订单编号

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


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

if tables("窗口1_table1").compute("count(订单编号)","人民币应收 is not null") = 0 then
tables("窗口1_table1").cols("人民币应收").visible = false
end if

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


加好友 发短信
等级:婴狐 帖子:38 积分:332 威望:0 精华:0 注册:2020/12/12 14:26:00
  发帖心情 Post By:2021/1/12 16:38:00 [只看该作者]

感谢

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


加好友 发短信
等级:婴狐 帖子:38 积分:332 威望:0 精华:0 注册:2020/12/12 14:26:00
  发帖心情 Post By:2021/1/12 17:57:00 [只看该作者]

麻烦帮我看下这段代码的问题,我在报关费这一列已经写入数据,但是还是都隐藏掉了,通过'messagebox.show(dc)  得到列名称 'messagebox.show( .compute("count(订单编号)","dc is not null") )显示出得到列统计值是空值

With Tables("费用确认主界面_table1")
    Dim dc As String
    Dim s1() As String
    s1 = New String(){"铁路运费","报关费" ,"拖车费","装箱费","加固费","单据费","单证费","查验费","滞留费","放射放行费","退运运费","落地交付费","rmb杂费","rmb杂费"}
    For Each dc In s1
        If .compute("count(订单编号)","dc is not null") = 0  Then
'messagebox.show(dc)
'messagebox.show( .compute("count(订单编号)","dc is not null") )
            .Cols(dc).visible = False
        End If
    Next
End With

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


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

If .compute("count(订单编号)",dc & " is not null") = 0  Then

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


加好友 发短信
等级:婴狐 帖子:38 积分:332 威望:0 精华:0 注册:2020/12/12 14:26:00
指定列名和变量代替列名得到的统计结果不同  发帖心情 Post By:2021/1/13 15:46:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:16101523790(1).png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1610521568(1).png
图片点击可在新窗口打开查看
老师好:
麻烦帮我看下,两个messagebox写法的区别,一个直接指定列名,一个用变量代替列名,结果是指定列名的能够统计出数据,变量代替列名的统计数据为空,不知道是为什么,代码和数据见附件图片,统计列为“报关费”


If e.Form.Controls("RadioButton1").checked=True Then
    If  Tables("费用确认主界面_Table1").Rows.Count>0 Then
        Select Case e.Node.Level
            Case 3
                With Tables("费用确认主界面_table1")
                    Dim dc As String
                    Dim s1() As String
                    s1 = New String(){"铁路运费","报关费" ,"拖车费","装箱费","加固费","单据费","单证费","查验费","滞留费","放射放行费","退运运费","落地交付费","rmb杂费","美元杂费"}
                    For Each dc In s1
                        messagebox.show(dc)
                        messagebox.show(Tables("费用确认主界面_table1").Compute("sum(报关费)"))
                        messagebox.show(Tables("费用确认主界面_table1").Compute("sum(dc)"))
                       ' messagebox.show(treetxt)

[此贴子已经被作者于2021/1/13 15:50:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/13 16:14:00 [只看该作者]

messagebox.show(Tables("费用确认主界面_table1").Compute("sum(“ & dc & ”)"))

自行看区别:
messagebox.show("sum(dc)")
messagebox.show("sum(“ & dc & ”)")

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


加好友 发短信
等级:婴狐 帖子:38 积分:332 威望:0 精华:0 注册:2020/12/12 14:26:00
  发帖心情 Post By:2021/1/13 17:06:00 [只看该作者]

可以了,
非常感谢,

 回到顶部