以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 改写A表的现金流科目 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175552)
|
-- 作者:lfz
-- 发布时间:2022/3/9 16:17:00
-- 改写A表的现金流科目
在B表中改动A表的现金流科目,在B表的DataColChanged事件中写了如下代码:
If e.DataCol.Name= "现金流科目" Then Dim dr As DataRow dr = DataTables("A表").SQLFind("序号 = \'" & e.DataRow("序号") & "\'and 科目代码 = \'"& e.datarow("科目代码") & "\'")
MessageBox.Show(1) 此步跳出 If dr IsNot Nothing Then MessageBox.Show(2) 此步未跳出 dr("现金流科目") = e.DataRow("现金流科目") MessageBox.Show(3) dr.Load End If End If
|
-- 作者:有点蓝
-- 发布时间:2022/3/9 16:45:00
--
说明A表数据库里没有这个序号和科目代码的数据,没有符合这个条件的数据
msgbox("序号 = \'" & e.DataRow("序号") & "\'and 科目代码 = \'"& e.datarow("科目代码") & "\')
|
-- 作者:lfz
-- 发布时间:2022/3/9 17:57:00
-- 回复:(有点蓝)说明A表数据库里没有这个序号和科目代...
我截图了
此主题相关图片如下:b表.png
此主题相关图片如下:a表.png
[此贴子已经被作者于2022/3/9 17:57:47编辑过]
|
-- 作者:有点蓝
-- 发布时间:2022/3/10 8:21:00
--
试试
dr = DataTables("A表").SQLFind("序号 = " & e.DataRow("序号") & " and 科目代码 = \'" & e.datarow("科目代码") & "\'")
|
-- 作者:lfz
-- 发布时间:2022/3/10 10:11:00
-- 回复:(有点蓝)试试dr = DataTables("A表").SQLFind...
老师我改了还是不行,我试着把SQLfind改成find就可以了,那从后台改怎么解决呢,
If e.DataCol.Name= "现金流科目" Then Dim dr As DataRow dr = DataTables("A表").SQLFind("序号 = " & e.DataRow("序号") & " And 科目代码 = \'" & e.DataRow("科目代码") & "\'") msgbox(1) 正常跳出 If dr IsNot Nothing Then msgbox(2) 正常跳出 dr("现金流科目") = e.DataRow("现金流科目") msgbox(3) 正常跳出 dr.Load 报错 不存在名称为""的datatable End If End If
[此贴子已经被作者于2022/3/10 10:16:03编辑过]
|
-- 作者:有点蓝
-- 发布时间:2022/3/10 10:29:00
--
dr("现金流科目") = e.DataRow("现金流科目") msgbox(3) 正常跳出 dr.save End If End If
|
-- 作者:hitzfeld
-- 发布时间:2022/3/10 19:27:00
--
我碰到跟你一样的问题。看这里http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=175567&replyID=&skin=1我看了你的帖子才发现错误在哪里!这里不能用dr.Load,因为SQLfind是修改后台的数据,实际表是没用加载数据的。当你用dr.Load的时候,由于这个表在狐表中实际是空表,所以就报不存在名称为""的datatable错误。 所以报错。
|
-- 作者:有点蓝
-- 发布时间:2022/3/10 20:21:00
--
以下是引用hitzfeld在2022/3/10 19:27:00的发言:
我碰到跟你一样的问题。看这里http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=175567&replyID=&skin=1我看了你的帖子才发现错误在哪里!这里不能用dr.Load,因为SQLfind是修改后台的数据,实际表是没用加载数据的。当你用dr.Load的时候,由于这个表在狐表中实际是空表,所以就报不存在名称为""的datatable错误。 所以报错。
噢,看漏眼了
|