值50分的简单问题

xinjs 2003-04-09 01:35:15
我是新手。
有这么一个问题,请教高手!
有两个mdb的表,分别为temp和temp1,需要首先将temp内容清空,然后将temp1内的记录导入temp中,该操作需要多次重复执行(表中的记录不变)。以下代码执行有时成功,有时出错。错误信息是说不能更新,某某机器上的用户“admin”锁定了表。但是,机器是在单机运行,可以肯定没有其它用户打开了表。
adotemp.Requery
If adotemp.RecordCount > 0 Then
adotemp.MoveFirst
Do Until adotemp.EOF
adotemp.Delete
adotemp.MoveNext
Loop
End If
adotemp1.Requery
If adotemp1.RecordCount > 0 Then
adotemp1.MoveFirst
Do Until adotemp1.EOF
adotemp.AddNew
For i = 1 To 20
adotemp(i) = adotemp1(i)
Next i
adotemp.Update
adotemp1.MoveNext
Loop
End If
...全文
38 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
forrestsun 2003-04-10
  • 打赏
  • 举报
回复
这样写两条语句
delete * from temp
insert into temp select * from temp1
用ADO调用就可以了
在中间做一些error的处理
xinjs 2003-04-10
  • 打赏
  • 举报
回复
谢谢各位。50分怎么分呀?
ayine 2003-04-09
  • 打赏
  • 举报
回复
同意bhhxd(天外来客)的方法,如果用你的方法,一是占用资源,二是太浪费时间了
twinking 2003-04-09
  • 打赏
  • 举报
回复
对指针进行操作是比较麻烦
不如象楼上兄弟说的
用SQL来操作
bhhxd 2003-04-09
  • 打赏
  • 举报
回复
干吗这么烦呢?
这样做不时又快又好吗?
Dim comm As New ADODB.Command
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=...\db1.mdb;Persist Security Info=False"
cn.Open
comm.ActiveConnection = cn
comm.CommandText = "delete * from b"
comm.Execute
comm.CommandText = "insert into b select * from a"
comm.Execute
xinjs 2003-04-09
  • 打赏
  • 举报
回复
那么,我用一句adotemp.requery不就可以解决问题了吗?
到底行不行?
谢谢啦。
xinjs 2003-04-09
  • 打赏
  • 举报
回复
我试了。
当运行到 adotemp.addnew时,提示错误,因为已经有set adotemp=nothing的语句了。
我只好在set adotemp=nothing后面加上将adotemp重新打开的语句。
问题是:
原来我的语句中有adotemp.requery,这条语句作用不是将adotemp关闭,然后又打开吗?
饮水需思源 2003-04-09
  • 打赏
  • 举报
回复
adotemp.Requery
If adotemp.RecordCount > 0 Then
adotemp.MoveFirst
Do Until adotemp.EOF
adotemp.Delete
adotemp.MoveNext
Loop
End If

set adotemp=nothing '加上这句

adotemp1.Requery
If adotemp1.RecordCount > 0 Then
adotemp1.MoveFirst
Do Until adotemp1.EOF
adotemp.AddNew
For i = 1 To 20
adotemp(i) = adotemp1(i)
Next i
adotemp.Update
adotemp1.MoveNext
Loop
End If
DaiLM 2003-04-09
  • 打赏
  • 举报
回复
每一次操作结束后将记录集关闭试试

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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