请教:关于recordset的edit和update问题

ocean69 2011-08-30 03:37:30
有如下的recordset

dim ftemp as single
dim rs as dao.recordset

set rs = currentdb.openrecordset("select hId, hID1, hID2 from mytable", dbopendynaset, dbinconsistent)
ftemp = ...

需要对rs进行编辑和更新的时候
以下的写法1 和 写法2是否正确,为什么?最佳的写法应该是怎样?

'写法1
rs.edit
do until rs.eof
rs!hID = ftemp
rs.movenext
loop
rs.update


'写法2
rs.edit
do until rs.eof
rs!hID = ftemp
rs.update
rs.movenext
loop
...全文
130 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2011-08-30
  • 打赏
  • 举报
回复
你测试过你的代码没有,根本无法运行
1、
Dim ftemp As Single
Dim rs As DAO.Recordset
ftemp = "123"
Set rs = CurrentDb.OpenRecordset("select * from aa2", dbOpenDynaset, dbInconsistent)
rs.Edit
Do Until rs.EOF
rs.Edit
rs("qdd") = ftemp
rs.MoveNext
rs.Update
Loop
rs.Edit
rs.Update

2、
Dim ftemp As Single
Dim rs As DAO.Recordset
ftemp = "123"
Set rs = CurrentDb.OpenRecordset("select * from aa2", dbOpenDynaset, dbInconsistent)
rs.Edit
Do Until rs.EOF
rs.Edit
rs("qdd") = ftemp
rs.Update
rs.MoveNext

Loop
只有2才能替换每1条记录
ocean69 2011-08-30
  • 打赏
  • 举报
回复
是的
rs的select语句中的where 我给省略了,
set rs = currentdb.openrecordset("select hId, hID1, hID2 from mytable where ...", dbopendynaset, dbinconsistent)

rs内的每个hId都需要替换。
wwwwb 2011-08-30
  • 打赏
  • 举报
回复
你要达到什么目的,你的循环没有移动指针,是个死循环,每个hID都要替换?

7,731

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧