以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]错误提示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81469) |
-- 作者:zcgmxf -- 发布时间:2016/2/28 17:14:00 -- [求助]错误提示 老师,用逻辑列自动复制数据,以前没问题,现在出现以下错误提示,代码写在表B中,表A是父表,表B是子表。代码执行后表A新增了行,但是是空行。请分析一下原因。谢谢! .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2015.12.22.1 错误所在事件:表,门诊疫苗药品入库表,DataColChanged 详细错误信息: 调用的目标发生了异常。 此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据 If e.DataCol.Name = "确认入库" Then If e.DataRow("确认入库") = True Then Dim nma() As String = {"药品名称","药品生产厂家","药品批号","药品有效期","种类","规格","单价","剂型","单位","销售单价","确认入库"} Dim nmb() As String = {"药品名称","药品生产厂家","药品批号","药品有效期","种类","规格","单价","剂型","单位","销售_单价","确认入库"} Dim dh As DataRow = DataTables("表A").SQLFind("[药品名称] = \'" & e.DataRow("药品名称") & "\'and [药品生产厂家] = \'" & e.DataRow("药品生产厂家") & "\' And [种类] = \'" & e.DataRow("种类") & "\' And [规格] = \'" & e.DataRow("规格") & "\' and [剂型] = \'" & e.DataRow("剂型") & "\'and [单价] = \'" & e.DataRow("单价") & "\'and [销售_单价] = \'" & e.DataRow("销售单价") & "\' and [单位] = \'" & e.DataRow("单位") & "\'and [药品批号] = \'" & e.DataRow("药品批号") & "\'and [药品有效期] = \'" & e.DataRow("药品有效期") & "\'") If dh Is Nothing Then dh = DataTables("表A").AddNew() Else e.Cancel = True End If For i As Integer = 0 To nma.Length - 1 dh(nmb(i)) = e.DataRow(nma(i)) Next dh.save() End If End If [此贴子已经被作者于2016/2/28 17:15:48编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/2/28 17:18:00 -- 应该是你赋值的时候报错的吧?触发了其他的datacolchanged事件。 |
-- 作者:大红袍 -- 发布时间:2016/2/28 17:18:00 -- 或者试试
systemready = False |
-- 作者:zcgmxf -- 发布时间:2016/2/28 17:19:00 -- 就是在表B中勾选逻辑列“确认入库”时出现的 |
-- 作者:大红袍 -- 发布时间:2016/2/28 17:20:00 -- 这种情况,加入msgbox定位一下错误啊 |
-- 作者:zcgmxf -- 发布时间:2016/2/28 17:25:00 -- systemready = False For i As Integer = 0 To nma.Length - 1 dh(nmb(i)) = e.DataRow(nma(i)) Next systemready = True 还是不行 定位看看
|
-- 作者:大红袍 -- 发布时间:2016/2/28 17:29:00 -- 定位看哪句代码出错。 |
-- 作者:zcgmxf -- 发布时间:2016/2/28 18:15:00 -- 红袍老师,都执行了。其它datacolchanged事件中没有移除该表的代码啊。应该是新增行新增后先被移除了,执行数据复制代码没有找到该行 |
-- 作者:大红袍 -- 发布时间:2016/2/28 19:33:00 -- 执行到哪句代码报错? |
-- 作者:zcgmxf -- 发布时间:2016/2/28 21:34:00 -- 红袍老师,那段代码没问题。在表A的BeforeAddDataRow事件中加入了以下代码,删除后就没问题了。为什么保存后就不能复制数据了呢? For Each dt As DataTable In DataTables
dt.Save() Next |