以文本方式查看主题

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

--  作者:季朝龙
--  发布时间:2020/2/28 9:49:00
--  导入数据的同时将更新的内容记录下来
通过以下代码导入数据,如果存在同编号的订单,更新数据,同时将列“供应链回复”更新前的数据保存在列“供应链上次回复”上,
我在DataColChanged事件中写了如下代码,但是无法实现需求,求助狐狸爸爸

DataColChanged事件代码

Select Case e.DataCol.name

    Case "采购部更新"

        e.DataRow("采购部最近更新时间") = now

    Case "供应链回复"

        If e.OldValue Is Nothing Then

        Else

            e.DataRow("供应链上次回复") = e.OldValue

            DataTables("周计划会").Save()

        End If

End Select


按钮代码
If User.Name = "陈兰秀" Then
MainTable = Tables("周计划会")
    Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
    dlg.Filter= "(*.*)|*.*" \'设置筛选器,不限制文件格式
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮  
        Dim Book As New XLS.Book(dlg.FileName)
        Dim Sheet As XLS.Sheet = Book.Sheets("原始数据") \'定义需要导入的excel工作部内工作表的名称
        Tables("周计划会").StopRedraw()
        Dim nms() As String = {"工单编号","订单类型","期望交货日期","需求源头","PN码","型号","小类名称","生产数量","在制量","项目情况说明","排单优先级","销管需求","齐套时间","齐套否","缺料情况","供应链回复","订单数量","导入日期"}         \'定义需要导入的列名称,且列名称顺序要与excel表的顺序一致
        For n As Integer = 1 To Sheet.Rows.Count -1
            Dim bh As String = sheet(n,0).Text \'定义需导入excel表个第一列的值
            Dim bh1 As String = sheet(n,5).Text \'定义需导入excel表个第六列的值
            Dim dr As DataRow = DataTables("周计划会").SqlFind("工单编号 = \'" & bh & "\'")
            If dr Is Nothing Then \'如果不存在同编号的订单
                dr =  DataTables("周计划会").AddNew() \'新增行
            End If
            For m As Integer = 0 To nms.Length - 1
                dr(nms(m)) = Sheet(n,m).Value \'如果存在同编号的订单,更新数据
            Next
            dr.save
        Next
        Tables("周计划会").ResumeRedraw() \'恢复绘制表
    End If
    DataTables("周计划会").DeleteFor("工单编号 Is Null") \'删除符合条件的行
    DataTables("周计划会").LoadFilter = "导入日期 = #" & Date.Today & "#"
    DataTables("周计划会").Load
Else
    MessageBox.Show("您没有导入数据权限!")
End If

--  作者:有点蓝
--  发布时间:2020/2/28 10:46:00
--  
代码看不出什么。请上传实例测试