以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用replacefor 的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149920) |
|
-- 作者:gudao123456 -- 发布时间:2020/5/15 12:01:00 -- 用replacefor 的问题 如何用replacefor替换满足两个条件的记录,如表A中,有列x,y,z,G.替换条件是:用x值相同且y=\'户主\'的行的Z列的值替换当前行的G列值。可以吗?是否一定要遍历查找替换? |
|
-- 作者:有点蓝 -- 发布时间:2020/5/15 12:15:00 -- 使用sql update 表A set G=b.f from 表A as a,表A as b where a.x = b.x and b.y=\'户主\' |
|
-- 作者:gudao123456 -- 发布时间:2020/5/15 16:17:00 -- 谢谢! 我这个是同一个表,不同的行列 [此贴子已经被作者于2020/5/15 16:21:46编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/5/15 16:26:00 -- 2楼就是同一个表的sql。搞不定就上传实例 |
|
-- 作者:gudao123456 -- 发布时间:2020/5/17 16:01:00 -- 谢谢!但这执行代码:
|
|
-- 作者:有点蓝 -- 发布时间:2020/5/17 19:23:00 -- sql不是代码,不能放到命令窗口执行。到这里执行:http://www.foxtable.com/webhelp/topics/1484.htm |
|
-- 作者:gudao123456 -- 发布时间:2020/5/17 19:31:00 -- 我是在执行SQL命令窗口执行的 而且对表也用{表A}了 就是不行。查了一下网上,也有有关“SQL对象无效的解决办法”,但可能是理论太多或我的知识有限,还未研究通。 没时间研究,只能用下面代码完成,就是时间运行时间有点长,好在户主都在每户的第一个,否则也挺麻烦的。 Dim sfzhm As String Dim hbh As String Dim hzxm As String For Each dr As DataRow In DataTables("用户信息_1").DataRows hbh=dr("户编号") If dr("与户主关系")="户主" hzxm=dr("姓名") sfzhm=dr("证件号码") End If dr("户主姓名")=hzxm dr("户主证件号码")=sfzhm Next sql 速度是很快的,我觉很好,只是还没有学多少 [此贴子已经被作者于2020/5/17 20:30:42编辑过]
|