Foxtable(狐表)用户栏目专家坐堂 → [求助]错误提示


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

主题:[求助]错误提示

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


加好友 发短信
等级:七尾狐 帖子:1649 积分:14611 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助]错误提示  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/28 17:18:00 [只看该作者]

应该是你赋值的时候报错的吧?触发了其他的datacolchanged事件。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/28 17:18:00 [只看该作者]

或者试试

 

systemready = False
For i As Integer = 0 To nma.Length - 1
    dh(nmb(i)) = e.DataRow(nma(i))
Next
systemready = True


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


加好友 发短信
等级:七尾狐 帖子:1649 积分:14611 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/2/28 17:19:00 [只看该作者]

就是在表B中勾选逻辑列“确认入库”时出现的

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/28 17:20:00 [只看该作者]

这种情况,加入msgbox定位一下错误啊

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


加好友 发短信
等级:七尾狐 帖子:1649 积分:14611 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By: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

还是不行
定位看看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/28 17:29:00 [只看该作者]

定位看哪句代码出错。

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


加好友 发短信
等级:七尾狐 帖子:1649 积分:14611 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/2/28 18:15:00 [只看该作者]

红袍老师,都执行了。其它datacolchanged事件中没有移除该表的代码啊。应该是新增行新增后先被移除了,执行数据复制代码没有找到该行

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/28 19:33:00 [只看该作者]

执行到哪句代码报错?

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


加好友 发短信
等级:七尾狐 帖子:1649 积分:14611 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/2/28 21:34:00 [只看该作者]

红袍老师,那段代码没问题。在表A的BeforeAddDataRow事件中加入了以下代码,删除后就没问题了。为什么保存后就不能复制数据了呢?
For Each dt As DataTable In DataTables
    dt.Save()
Next




 回到顶部
总数 11 1 2 下一页