VBA中使用ADO的问题

meijianyu 2010-11-10 05:20:43
操作:表TableName中就一个字段(NewData),而且只存放一条记录。每次使用后,让其值加1。

代码

Rst_SQL = ""
Rst_SQL = Rst_SQL & "Update dbo.TableName set NewDateID=NewDateId+1"
Rst.Open Rst_SQL, ConDB, adOpenDynamic, adLockOptimistic

Rst_SQL = ""
Rst_SQL = Rst_SQL & "Select NewDateIDfrom dbo.TableName "
Rst.Open Rst_SQL, ConDB
'msgbox(Rst.RecordCount)
Range("B1").CopyFromRecordset Rst
Rst.Close
ConDB.Close

代码能正常执行,但是,测试记录集的条数时,得到的是-1,不知道是为什么。一旦把注释的语句(那行红色的语句)加上,就报错。请高手指点迷津。
...全文
80 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meijianyu 2010-11-11
  • 打赏
  • 举报
回复
解决了。
lyserver 2010-11-10
  • 打赏
  • 举报
回复
指定Rst的游标为客户端游标,即:Rst.CursorLocation = adUseClient
倒大霉的上帝 2010-11-10
  • 打赏
  • 举报
回复
把Rst.Open Rst_SQL, ConDB, adOpenDynamic, adLockOptimistic
改成
把Rst.Open Rst_SQL, ConDB, adOpenStatic, adLockOptimistic
试试

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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