Foxtable(狐表)用户栏目专家坐堂 → 在查找替换后台数据时,需要查找后台的行可否筛选?


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

主题:在查找替换后台数据时,需要查找后台的行可否筛选?

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
在查找替换后台数据时,需要查找后台的行可否筛选?  发帖心情 Post By:2019/10/16 16:36:00 [只看该作者]

在进行后台查找替换后台数据时,不需要查找所有的行,只要查找符合某个条件的行就可以了,如:

DataTables("学生信息导入样表").StopRedraw
Dim i ,y,k As Integer = 0
Dim dr As DataRow
For Each dr1 As DataRow In DataTables("学生信息导入样表").DataRows
    k=0
    For y=0 To lms.count-1
        k = DataTables("xszxztb").SQLReplaceFor(lms(y),dr1(nms(y)),"sfzhm= '" & dr1("身份证号码") & "'")
    Next
    dr1("是否替换成功") = k > 0
    i=i+k
    
Next
这里的后台表 DataTables("xszxztb")有几十万条数据,但查找时是可以知道一定范围的,如,里面有个字段“学校”,查找时,只需在符合条件“学校”=“青山学校” 查找就可以了,如何设定这个条件?

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


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

k = DataTables("xszxztb").SQLReplaceFor(lms(y),dr1(nms(y)),"sfzhm= '" & dr1("身份证号码") & "' and 学校='青山学校'")

如果身份证号码已经可以识别需要的数据,完全没有必要加什么学校条件了,反而会降低效率。再说一个身份证号码会出现在2个学校?

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/10/16 16:47:00 [只看该作者]

我见需要的时间较长,考虑可否压缩的查找范围,我是想先给后台一个更为小的查找范围,不用再所有行去找,不知是否有必要这样做
[此贴子已经被作者于2019/10/16 16:48:35编辑过]

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


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

给数据库的表身份证号码列加一个索引。

这种遍历更新快不了的,如果sql熟,可以考虑直接使用SQL更新

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/10/16 17:13:00 [只看该作者]

我曾用语句:

UPDATE {xszxztb},{学生信息导入样表} S ET {xszxztb}.yhkh={学生信息导入样表}.银 行卡号 WHERE {xszxztb}.sfzhm={学生信息导入样表}.身份证号码

在S QL 窗口中执行过,总提示说,在","附件有错误


以前我试过其他数据库,是成功的,而且很快,但那是同在本地的ACC数据库。这个却不行,不知何因?


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


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

SqlServer的语法和access有些差别

UPDATE {xszxztb} S ET yhkh={学生信息导入样表}.银 行卡号 from {学生信息导入样表} WHERE {xszxztb}.sfzhm={学生信息导入样表}.身份证号码

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/10/16 17:27:00 [只看该作者]

哦,非常谢谢!

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/10/16 20:34:00 [只看该作者]

解决了
谢谢!
[此贴子已经被作者于2019/10/17 0:29:47编辑过]

 回到顶部