以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  获取多个表 月份,代码出错,请各位高手帮我看一下,是哪里出错了?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24278)

--  作者:akzzwj
--  发布时间:2012/10/9 16:17:00
--  获取多个表 月份,代码出错,请各位高手帮我看一下,是哪里出错了?

代码如下:

Dim cmb As WinForm.ComboBox
cmb = e.form.Controls("月份")
cmb.ComboList = DataTables("采购入库单明细").GetComboListString("月份") Or DataTables("成品入库单明细").GetComboListString("月份") Or DataTables("领用退回单明细").GetComboListString("月份") Or DataTables("销售退回单明细").GetComboListString("月份") Or DataTables("领用出库单明细").GetComboListString("月份") Or DataTables("成品出库单明细").GetComboListString("月份") Or DataTables("销售出库单明细").GetComboListString("月份") Or DataTables("采购退货单明细").GetComboListString("月份")


--  作者:akzzwj
--  发布时间:2012/10/9 16:17:00
--  
我是想获取多个表的月份,又希望这些月份不要重复
--  作者:狐狸爸爸
--  发布时间:2012/10/9 16:27:00
--  

图片点击可在新窗口打开查看

 

呵呵,写出这样的代码,你真的是“超人”啊,其实月份而已嘛,手工输入就行了

 

 


--  作者:akzzwj
--  发布时间:2012/10/9 16:33:00
--  

因为这是一张报表啊

要自动生产月份,那狐狸爸爸,上面的代码该怎么调整呢?


--  作者:lin_hailun
--  发布时间:2012/10/9 16:49:00
--  
 这个代码,写起来也挺麻烦的。

Dim months As New List(Of String)
For Each dt As DataTable In DataTables
    If dt.Name.Contains("明细") Then
        If dt.DataCols.Contains("月份") Then
            For Each month As String In dt.GetUniqueValues("", "月份")
                If months.Contains(month) = False Then
                    months.Add(month)
                    If months.Count >= 12 Then Exit For
                End If
            Next
            If months.Count >= 12 Then Exit For
        End If
    End If
Next

Dim strMonth As String = ""
For Each month As String In months
    strMonth = strMonth & month & "|"
Next
strMonth.Trim("|")

cmb.ComboList = strMonth

--  作者:blackzhu
--  发布时间:2012/10/9 17:04:00
--  
以下是引用狐狸爸爸在2012-10-9 16:27:00的发言:

图片点击可在新窗口打开查看

 

呵呵,写出这样的代码,你真的是“超人”啊,其实月份而已嘛,手工输入就行了

 

 


  呵呵,热血到现在还是这样,其实我也挺佩服的.


--  作者:blackzhu
--  发布时间:2012/10/9 17:05:00
--  
热血,月份只有12个,你做死了又如何,又不是日期.