Foxtable(狐表)用户栏目专家坐堂 → 改写A表的现金流科目


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

主题:改写A表的现金流科目

美女呀,离线,留言给我吧!
lfz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:494 威望:0 精华:0 注册:2021/11/16 13:45:00
改写A表的现金流科目  发帖心情 Post By:2022/3/9 16:17:00 [只看该作者]

在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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/9 16:45:00 [只看该作者]

说明A表数据库里没有这个序号和科目代码的数据,没有符合这个条件的数据

msgbox("序号 = '" & e.DataRow("序号") &  "'and 科目代码 = '"& e.datarow("科目代码") & "')

 回到顶部
美女呀,离线,留言给我吧!
lfz
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:494 威望:0 精华:0 注册:2021/11/16 13:45:00
回复:(有点蓝)说明A表数据库里没有这个序号和科目代...  发帖心情 Post By:2022/3/9 17:57:00 [只看该作者]

我截图了

 


图片点击可在新窗口打开查看此主题相关图片如下:b表.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:a表.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/3/9 17:57:47编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/10 8:21:00 [只看该作者]

试试

dr = DataTables("A表").SQLFind("序号 = " & e.DataRow("序号") &  " and 科目代码 = '" & e.datarow("科目代码") & "'")

 回到顶部
美女呀,离线,留言给我吧!
lfz
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:494 威望:0 精华:0 注册:2021/11/16 13:45:00
回复:(有点蓝)试试dr = DataTables("A表").SQLFind...  发帖心情 Post By:2022/3/10 10:11:00 [只看该作者]

老师我改了还是不行,我试着把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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/10 10:29:00 [只看该作者]

            dr("现金流科目") = e.DataRow("现金流科目")
msgbox(3)  正常跳出
    dr.save
        End  If
End If

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By: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错误。
所以报错。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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错误。
所以报错。

噢,看漏眼了

 回到顶部