以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]合并数据同时保存数据,在哪里书写代码? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97589) |
-- 作者:chh2321 -- 发布时间:2017/3/15 11:18:00 -- [求助]合并数据同时保存数据,在哪里书写代码? 老师请教问题: 合并数据同时保存数据(随时读入随时保存),在哪里书写代码?怎么写? |
-- 作者:有点色 -- 发布时间:2017/3/15 12:39:00 -- 合并数据你是写代码操作的吗?
最简单,你可以在DataColChanged事件写代码
If e.DataCol.Name = "第十列" Then e.DataRow.Save End If
http://www.foxtable.com/webhelp/scr/0685.htm
|
-- 作者:chh2321 -- 发布时间:2017/3/15 15:14:00 -- 老师,是这样: Case "TreatOutcome2" Dim dr As DataRow dr = DataTables("表A").Find("[编号] = \'" & e.DataRow("编号") & "\'" ) Dim drs = DataTables("表B").Select("[编号] = \'" & e.DataRow("编号") & "\' And [TreatOutcome2] Like \'%确诊%\'","诊疗日期") If drs.count > 0 Then dr("第一肿瘤确诊日期") = drs(0)("诊疗日期") Else dr("第一肿瘤确诊日期") = Nothing End If If drs.count > 1 Then dr("第二肿瘤确诊日期") = drs(1)("诊疗日期") Else dr("第二肿瘤确诊日期") = Nothing End If If drs.count > 2 Then dr("第三肿瘤确诊日期") = drs(2)("诊疗日期") Else dr("第三肿瘤确诊日期") = Nothing End If 这段代码写入表B的Datacolchanged事件中,我想在合并数据时直接触发事件。 但是合并数据过程中在某些行就会出现如下提示: 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。 关闭弹窗后,数据还可以继续合并,几十行后可能再次出现。 如果把这段代码注释掉后,就不会出现错误提示,可以正常合并数据。我以为是合并的数据暂时没有保存到后台数据库的原因,但是用e.DataRow.Save方法还是不行。 请问如果解决这一问题? [此贴子已经被作者于2017/3/15 15:15:35编辑过]
|
-- 作者:有点色 -- 发布时间:2017/3/15 16:12:00 -- 加上判断
dr = DataTables("表A").Find("[编号] = \'" & e.DataRow("编号") & "\'" ) If dr is nothing Then msgbox("没找到对应的行") Else \'你原来的代码 End If |
-- 作者:chh2321 -- 发布时间:2017/3/15 17:04:00 -- 谢谢老师,问题解决了。 |