以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助 s elect语句求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=94659)

--  作者:huangfanzi
--  发布时间:2016/12/29 8:51:00
--  [求助 s elect语句求助
Tables(e.Form.Name & "_Table1").Fill("S elect 母卷号,C,Si,Mn,P From {原料理化} Where ...
以上语句会得到一个查询表,但得到的查询表中不是每一个元素有内容的,例如:
母卷号  C   Si   Mn     P
卷号A  0.1       0.3    0.1
卷号B  0.1       0.2    0.2
卷号C  0.2       0.4

在上表中,希望查询表中能隐藏掉 Si 这个元素所在列,因为这个元素在整个表中无数据,P 是不能被隐藏,因为此列中存在数据,在项目中,由于元素很多,如不隐藏会导致一行上打印不全所有的元素
谢谢老师。
[此贴子已经被作者于2016/12/29 8:51:32编辑过]

--  作者:有点蓝
--  发布时间:2016/12/29 9:04:00
--  
s elect里去掉这列不就行了

Tables(e.Form.Name & "_Table1").Fill("S elect 母卷号,C,Mn,P From {原料理化} Where ...

--  作者:huangfanzi
--  发布时间:2016/12/29 9:18:00
--  
不是这样简单的,元素共有30多种,每种卷号对应的元素是不一样的,所以不能简单的在s elect中去掉某个元素,只能是全部查询出来,再看看哪个元素列是空的,把它隐藏掉。
--  作者:有点色
--  发布时间:2016/12/29 9:22:00
--  

 循环,隐藏掉

 

for each c as col in tables("表A").cols
    If c.Table.DataTable.Find(c.name & " is not null") is nothing Then
        c.visible = False
    else
        c.visible = true
    End If
Next