以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  获取列的集合作为("ComboBox1").ComboList的值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93584)

--  作者:fubblyc
--  发布时间:2016/12/1 21:02:00
--  获取列的集合作为("ComboBox1").ComboList的值

想要获取列的集合到e.Form.Controls("ComboBox1").ComboList的值

如下图:


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20161201210033.png
图片点击可在新窗口打开查看

我自己用遍历列名的方法,只会得到最后一列。显然是不对的,但是又要怎么做呢? 

For Each c As Col In Tables("零售报表_table1").Cols
If c.name <> "年份"  Or c.name <> "季度"  Or c.name <> "月份"  Or c.name <> "周次"  Or c.name <> "日"  Or c.name <> "时"  Or c.name <> "门店"  Then
e.Form.Controls("ComboBox1").ComboList = c.name
End If

Next


--  作者:fubblyc
--  发布时间:2016/12/1 21:03:00
--  

列是随用户的打钩选择:


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20161201210247.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/12/1 21:09:00
--  
Dim s As String
Dim s1 As String = "年份季度月份周次日时门店"
For Each c As Col In Tables("零售报表_table1").Cols
    If s1.Contains(c.name ) = False Then
        s &= c.name & "|"
    End If
Next
e.Form.Controls("ComboBox1").ComboList = s.Trim("|")

--  作者:fubblyc
--  发布时间:2016/12/1 21:14:00
--  

嗯嗯,谢谢有点蓝老师,我这样实现了:

 

Dim s As String = Forms("零售报表").Controls("CheckedComboBox5").value
s = s.Replace(",","|") \'将123替换为789

Dim cmb As WinForm.ComboBox
cmb = e.form.Controls("ComboBox1")
cmb.ComboList = s