Foxtable(狐表)用户栏目专家坐堂 → 跨表填充


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

主题:跨表填充

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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
跨表填充  发帖心情 Post By:2018/5/22 10:31:00 [显示全部帖子]


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

把上图的箭头列的列名填入下图的同一列,对应的上图的数据也填入另外一列。


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

请老师帮忙,谢谢。

Dim f As New Filler
f.SourceTable = DataTables("帐单汇总") '指定数据来源
f.SourceCols = "商家名称,月份,开piao日期" '指定数据来源列
f.DataTable = DataTables("往来帐") '指定数据接收表
f.DataCols = "商家名称,摘要,日期" '指定数据接收列
f.ExcludeExistValue = True
f.ExcludeNullValue = True
f.Distinct = True
f.Fill() '填充数据



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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2018/5/22 12:34:00 [显示全部帖子]

Dim kms() As String = {"A","B","C","D","E","F"}
For Each dr1 As DataRow In DataTables("国内物流").DataRows
    For Each km As String In kms
        Dim dr2 As DataRow = DataTables("应付汇总").AddNew()
        dr2("业务类型") = dr1("业务类型")
        dr2("月份") = dr1("月份")
        dr2("业务量") = dr1("业务量")
        dr2("商家名称") = km
        dr2("金额") = dr1(km)
    Next
Next
l老师,这段代码如何避免被填充表出现重复行


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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2018/5/22 16:03:00 [显示全部帖子]

 dr2("金额") = dr1(km)

金额=0的不增加行

是不是改成下面
Dim dr2 As DataRow = DataTables("应付汇总").find("业务类型='" & dr1("业务类型") & "' and 月份='" & dr1("月份") & "' and 业务量='" & dr1("业务量") & "' and 商家名称='" & km & "' and 金额 > '0'")

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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2018/5/23 13:43:00 [显示全部帖子]

dr2("金额") = dr1(km)    
还有一个问题,按照这样做之后,上面这金额有变化,又增加了一行,比如之前是555的,后面更改数据666后,油会增加一行,而不是把555改成666.


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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2018/5/23 14:48:00 [显示全部帖子]

Dim kms() As String = {"A","B","C","D","E","F"}
For Each dr1 As DataRow In DataTables("国内物流").DataRows
    For Each km As String In kms        
        If dr1(km) > 0 Then
            Dim dr2 As DataRow = DataTables("应付汇总").find("业务类型='" & dr1("业务类型") & "' and 月份='" & dr1("月份") & "' and 业务量='" & dr1("业务量") & "' ")
            If dr2 Is Nothing Then dr2 = DataTables("应付汇总").addnew
            dr2("业务类型") = dr1("业务类型")
            dr2("月份") = dr1("月份")
            dr2("业务量") = dr1("业务量")
            dr2("商家名称") = km
            dr2("金额") = dr1(km)            
        End If
    Next
Next


把下面红色的部分删除了貌似没问题了

 Dim dr2 As DataRow = DataTables("应付汇总").find("业务类型='" & dr1("业务类型") & "' and 月份='" & dr1("月份") & "' and 业务量='" & dr1("业务量") & "' and 商家名称='" & km & "'")


 回到顶部