Foxtable(狐表)用户栏目专家坐堂 → 求助,一个疑难问题!


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

主题:求助,一个疑难问题!

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3628 威望:0 精华:0 注册:2016/1/1 20:20:00
求助,一个疑难问题!  发帖心情 Post By:2016/11/11 22:57:00 [只看该作者]

假如有两个表,表A和表B,两表中有两个同名列,为“编号”,“标记”。表A中“编号”列值为唯一,而表B有重复。如何才能更快速,更准确的实现这个目的,当表B中大数量的行中,“标记”列值发生变化时,同时表A中编号与表B对应的行,“标记”列内容也随之更新? 目前我总的是find循环查找,但是效率非常慢,而且出错率很好,有没有更好的方法?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/12 8:57:00 [只看该作者]

干嘛要循环,一次Find就可以了,参考:http://www.foxtable.com/webhelp/scr/1453.htm

贴出你的代码看看

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3628 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2016/11/12 11:56:00 [只看该作者]

If e.DataCol.name = "标记" Then
   Dim br As DataRow
   br = DataTables("会员信息表").find("永久编号 = '" & e.DataRow("永久编号") &  "'")
   If br IsNot Nothing Then
      br("标记") = e.NewValue
   End If
End If

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3628 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2016/11/12 11:58:00 [只看该作者]

这是代码,但是当几十行,几百行数据同时修改的时候,效率非常低,通常需要一分多钟的时间才能完成,而且我发现其中还存在错误的地方

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/12 12:02:00 [只看该作者]

可以通过sql更新,具体上例子看看

或者不用事件,保存后用再另外处理

[此贴子已经被作者于2016/11/12 12:03:14编辑过]

 回到顶部