Office中国论坛/Access中国论坛

标题: 请教!这样的数据如何更新啊?(已解决) [打印本页]

作者: sxgaobo    时间: 2008-10-10 18:21
标题: 请教!这样的数据如何更新啊?(已解决)
[attach]32605[/attach]
上级机构编码    机构编码
01010301        0101030101
01010301        0101030102
01010301        0101030103
01010301        0101030104
01010301        0101030105
01010302        0101030201
01010302        0101030202
01010302        0101030203
01010302        0101030204
......
如何将“机构编码”依据“上级机构编码”更新到上面的结果,即在其“上级机构编码”后按顺序由01开始递加!

[ 本帖最后由 sxgaobo 于 2008-10-12 15:29 编辑 ]
作者: tz-chf    时间: 2008-10-10 21:24
这种问题是有一个定式的,按上级机构编码排序,一个变量A记录一下这个编码,每条记录对比A,不一样就更新变量A,一样就组建那个机构编码。
作者: figfig    时间: 2008-10-11 01:49
Sub aa()
Dim yy As Recordset

Set yy = CurrentDb.OpenRecordset("单位基本情况表", 2)



Do While Not yy.EOF
kk = DCount("*", "单位基本情况表", yy.Fields(0).Name & "='" & yy.Fields(0) & "'")
For i = 1 To kk

yy.Edit
yy.Fields(1) = yy.Fields(0) & Format(i, "00")
yy.Update
yy.MoveNext

Next
Loop
end sub

[ 本帖最后由 figfig 于 2008-10-11 07:04 编辑 ]
作者: sxgaobo    时间: 2008-10-11 09:48
谢谢 figfig!!!
搞定[:13] [:11]
作者: sxgaobo    时间: 2008-10-11 16:53
[attach]32622[/attach]
怎么总报错啊?而且数据也有重复的!!!
作者: figfig    时间: 2008-10-11 17:29
标题: 行内 query 要改改啊
SELECT 行内机构.机构编号, 行内机构.内机构编号
FROM 行内机构
WHERE 行内机构.机构编号 is not null
ORDER BY 行内机构.机构编号;
作者: sxgaobo    时间: 2008-10-11 18:38
怎么改啊!?报错无所谓,主要是数据有重复的!!!
作者: figfig    时间: 2008-10-11 19:11
6楼代码已改好,粘贴过去就可以了啊,晕
作者: figfig    时间: 2008-10-11 19:20
标题: 如不想直接改,代码里改也可以
Private Sub Command0_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE 行内机构 SET 行内机构.内机构编号 = Null"
DoCmd.SetWarnings True
CurrentDb.QueryDefs("行内").SQL = "SELECT 行内机构.机构编号, 行内机构.内机构编号 FROM 行内机构 WHERE 行内机构.机构编号 Is Not Null ORDER BY 行内机构.机构编号"

Set yy = CurrentDb.OpenRecordset("行内", 2)
Do While Not yy.EOF
kk = DCount("*", "行内", yy.Fields(0).Name & "='" & yy.Fields(0) & "'")


For i = 1 To kk
yy.Edit

yy.Fields(1) = yy.Fields(0) & Format(i, "00")
yy.Update
yy.MoveNext

Next
Loop

End Sub
作者: sxgaobo    时间: 2008-10-12 15:29
谢谢各位朋友!解决了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3