一楼的问题我查找不到原因,我核对了各表结构,类型检查没发现整数和字符的不匹配。
现在导入按钮点了后也出现同样的错误提示:
此主题相关图片如下:123.png

此主题相关图片如下:1234.png

这时我把计划明细DataColChanged事件里下面这段“非关联表之间的数据同步”的代码屏蔽就不报错Select Case e.DataCol.name
Case "物资ID","单位名称"
Dim dr As DataRow = DataTables("机组库存").Find("物资ID = '" & e.OldValue & "'and 单位名称 = '" & e.OldValue & "'")
If dr Is Nothing Then
dr = DataTables("机组库存").AddNew()
dr("物资ID") = e.DataRow("物资ID")
dr("单位名称") = e.DataRow("单位名称")
dr("物资名称") = e.DataRow("物资名称")
dr("型号规格") = e.DataRow("型号规格")
dr("品牌") = e.DataRow("品牌")
dr("计量单位") = e.DataRow("计量单位")
dr("单价") = e.DataRow("单价")
Else
dr("物资ID") = e.DataRow("物资ID") And dr("单位名称") = e.DataRow("单位名称")
End If
Case "物资名称","型号规格"
Dim dr As DataRow = DataTables("机组库存").Find("物资ID = '" & e.DataRow("物资ID") & "'")
If dr IsNot Nothing Then
dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
End If
End Select
导入按钮的代码如下:
If Tables("计划明细").Rows.Count > 0 Then
For Each r1 As Row In Tables("计划明细").GetCheckedRows
Dim r2 As Row = Tables("出库单.出库明细").AddNew
r2("单位名称") = r1("单位名称")
r2("物资ID") = r1("物资ID")
r2("物资名称") = r1("物资名称")
r2("型号规格") = r1("型号规格")
r2("计量单位") = r1("计量单位")
r2("计划单号") = r1("计划单号")
r2("物资编码") = r1("物资编码")
r2("单价") = r1("单价")
r2("应发数量") = r1("欠发数量")
r2("出库数量") = r1("欠发数量")
Next
e.Form.close
Else
MessageBox.Show("该单无未交项!")
End If
一楼和三楼的问题很像,但我都找不到原因,我用的SQL数据源,我模拟建了Access准备上个实例,但摘出来做成Access不报错,请老师帮忙指导下,谢谢老师!
[此贴子已经被作者于2019/10/4 11:34:17编辑过]