以文本方式查看主题

-  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=114567)

--  作者:ye8573
--  发布时间:2018/2/9 15:31:00
--  求助数据合并填充的问题

图片点击可在新窗口打开查看此主题相关图片如下:1518160900(1).png
图片点击可在新窗口打开查看
如图中的同一编号的4行数据,第7列是4个不同维修人员的名字,我在另一张表中自动获取了那个编号并生成一行数据,请问能否自动获取那四个名字并填充在维修人员列的同一单元格中?我只能自动获取1个名字填充,但是那样的话还是会生成四行数据,需要的效果是一个编号一行数据。请大神帮助下,谢谢啦

--  作者:有点甜
--  发布时间:2018/2/9 15:37:00
--  

1、先贴出你写的代码;

 

2、如果你之前用的是find,改成select可以获取多行 http://www.foxtable.com/webhelp/scr/0400.htm

 


--  作者:ye8573
--  发布时间:2018/2/9 15:42:00
--  
代码如下,请大神斧正...
Dim f As New Filler
f.SourceTable = DataTables("零星维修表") \'指定数据来源
f.SourceCols = "自动编号,门店名称,状态,品牌,跟单,接单日期,费用承担,维修内容,维修类型" \'指定数据来源列
f.DataTable = DataTables("零星结算表") \'指定数据接收表
f.DataCols = "自动编号,门店名称,状态,品牌,跟单,接单日期,费用承担,维修内容,维修类型" \'指定数据接收列
f.ExcludeExistValue = True
f.Distinct = True
f.Filter = "状态<>\'1.已接单\'"
f.Fill()

--  作者:有点甜
--  发布时间:2018/2/9 16:00:00
--  

Dim dt1 As DataTable = DataTables("零星维修表")
Dim dt2 As DataTable = DataTables("零星结算表")
For Each bh As String In dt1.GetValues("自动编号", "自动编号 is not null and 状态<>\'1.已接单\'")
    Dim fdr As DataRow = dt2.find("自动编号 = \'" & bh & "\'")
    If fdr Is Nothing Then
        fdr = dt2.addnew
    End If
    Dim dr As DataRow = dt1.find("自动编号 = \'" & bh & "\' and 状态<>\'1.已接单\'")
    fdr("自动编号") = dr("自动编号")
    fdr("门店名称") = dr("门店名称")
    fdr("状态") = dr("状态")
    fdr("跟单") = dt1.GetComboListString("跟单", "自动编号 = \'" & bh & "\' and 状态<>\'1.已接单\'")
Next