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