Foxtable(狐表)用户栏目专家坐堂 → 批量导入关联表


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

主题:批量导入关联表

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


加好友 发短信
等级:七尾狐 帖子:1708 积分:4287 威望:0 精华:0 注册:2017/11/8 17:37:00
批量导入关联表  发帖心情 Post By:2020/7/12 16:41:00 [只看该作者]

现在把EXCEL数据导入到临时表,想把临时表数据根据单号不同导入到关联表销售订单明细表里,销售订单主表增加行时自动增加日期及订单单号,不知哪出了问题
DataTables("销售订单导入").Save()
Dim Cols1() As String = {"货物编码","货物名称","规格","单位","数量","单价","金额"}
Dim Cols2() As String = {"货物编码","货物名称","规格","单位","数量","单价","金额"}
Dim s As Table = Tables("销售订单导入")
For i As Integer = 0 To s.Rows.count-1
    If s.Rows(i)("单据编码") <> s.Rows(i-1)("单据编码") Then
        DataTables("销售订单明细").Save()
        DataTables("销售订单").Save()
        DataTables("销售订单").AddNew()
        If s.Rows(i)("选择")=True Then
            Dim dr2 As DataRow = DataTables("销售订单明细").AddNew()
            dr2("单据编码")=Forms("销售订单").Controls("TextBox2").text
            dr2("日期")=Forms("销售订单").Controls("DateTimePicker1").text
            dr2("单据类别")=Forms("销售订单").Controls("DropBox2").text
            dr2("往来名称")=Forms("销售订单").Controls("TextBox4").text
            dr2("往来编码")=Forms("销售订单").Controls("DropBox3").text
            For b As Integer = 0 To Cols1.Length -1
                dr2(Cols2(b)) = s.Rows(i)(Cols1(b))
            Next
        End If
    End If
Next
DataTables("销售订单导入").Save()
DataTables("销售订单导入").deletefor("[货物编码] Is not null")


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


加好友 发短信
等级:七尾狐 帖子:1708 积分:4287 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2020/7/12 18:32:00 [只看该作者]

在窗口在操作,还是导入同一张单,不会增加单据,是什么问题?想不通

DataTables("销售订单导入").Save()
Dim Cols1() As String = {"货物编码","货物名称","规格","单位","数量","单价","金额"}
Dim Cols2() As String = {"货物编码","货物名称","规格","单位","数量","单价","金额"}
Dim s As Table = Tables("销售订单导入")
For i As Integer = 0 To s.Rows.count-1
    If s.Rows(i)("单据编码") <> s.Rows(i-1)("单据编码") Then
        DataTables("销售订单明细").Save()
        DataTables("销售订单").Save()
        DataTables("销售订单").AddNew()
        Dim dr2 As DataRow = DataTables("销售订单明细").AddNew()
        dr2("单据编码")=Forms("销售订单").Controls("TextBox2").text
        dr2("日期")=Forms("销售订单").Controls("DateTimePicker1").text
        dr2("单据类别")=Forms("销售订单").Controls("DropBox2").text
        dr2("往来名称")=Forms("销售订单").Controls("TextBox4").text
        dr2("往来编码")=Forms("销售订单").Controls("DropBox3").text
        For b As Integer = 0 To Cols1.Length -1
            dr2(Cols2(b)) = s.Rows(i)(Cols1(b))
        Next       
    ElseIf s.Rows(i)("选择")=True Then
        Dim dr2 As DataRow = DataTables("销售订单明细").AddNew()
        dr2("单据编码")=Forms("销售订单").Controls("TextBox2").text
        dr2("日期")=Forms("销售订单").Controls("DateTimePicker1").text
        dr2("单据类别")=Forms("销售订单").Controls("DropBox2").text
        dr2("往来名称")=Forms("销售订单").Controls("TextBox4").text
        dr2("往来编码")=Forms("销售订单").Controls("DropBox3").text
        For b As Integer = 0 To Cols1.Length -1
            dr2(Cols2(b)) = s.Rows(i)(Cols1(b))
        Next
    End If
Next
DataTables("销售订单导入").Save()
DataTables("销售订单导入").deletefor("[货物编码] Is not null")

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


加好友 发短信
等级:七尾狐 帖子:1708 积分:4287 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2020/7/12 18:36:00 [只看该作者]

DataTables("销售订单导入").Save()
Dim Cols1() As String = {"货物编码","货物名称","规格","单位","数量","单价","金额"}
Dim Cols2() As String = {"货物编码","货物名称","规格","单位","数量","单价","金额"}
Dim s As Table = Tables("销售订单导入")
For i As Integer = 0 To s.Rows.count-1
    If s.Rows(i)("单据编码") <> s.Rows(i-1)("单据编码") And s.Rows(i)("选择")=True Then
        DataTables("销售订单明细").Save()
        DataTables("销售订单").Save()
        DataTables("销售订单").AddNew()
        Dim dr2 As DataRow = DataTables("销售订单明细").AddNew()
        dr2("单据编码")=Forms("销售订单").Controls("TextBox2").text
        dr2("日期")=Forms("销售订单").Controls("DateTimePicker1").text
        dr2("单据类别")=Forms("销售订单").Controls("DropBox2").text
        dr2("往来名称")=Forms("销售订单").Controls("TextBox4").text
        dr2("往来编码")=Forms("销售订单").Controls("DropBox3").text
        For b As Integer = 0 To Cols1.Length -1
            dr2(Cols2(b)) = s.Rows(i)(Cols1(b))
        Next       
    ElseIf s.Rows(i)("单据编码") = s.Rows(i-1)("单据编码") And s.Rows(i)("选择")=True Then
        Dim dr2 As DataRow = DataTables("销售订单明细").AddNew()
        dr2("单据编码")=Forms("销售订单").Controls("TextBox2").text
        dr2("日期")=Forms("销售订单").Controls("DateTimePicker1").text
        dr2("单据类别")=Forms("销售订单").Controls("DropBox2").text
        dr2("往来名称")=Forms("销售订单").Controls("TextBox4").text
        dr2("往来编码")=Forms("销售订单").Controls("DropBox3").text
        For b As Integer = 0 To Cols1.Length -1
            dr2(Cols2(b)) = s.Rows(i)(Cols1(b))
        Next
    End If
Next
DataTables("销售订单导入").Save()
DataTables("销售订单导入").deletefor("[货物编码] Is not null")

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


加好友 发短信
等级:七尾狐 帖子:1708 积分:4287 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2020/7/12 19:12:00 [只看该作者]

已解决了

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/12 21:05:00 [只看该作者]

这2句放到循环外面,最后保存一下即可。没有必要在循环里每一行保存一次吧

        DataTables("销售订单明细").Save()
        DataTables("销售订单").Save()

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


加好友 发短信
等级:七尾狐 帖子:1708 积分:4287 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2020/7/19 11:41:00 [只看该作者]

这个是,已删除了,多谢

 回到顶部