设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4663|回复: 5

[ADO/DAO] 方法Open作用于Recordset对象失败

[复制链接]
发表于 2016-9-13 20:48:02 | 显示全部楼层 |阅读模式
今天第一次出现了这种情况,查了半天也不知道什么原因
放上了论坛,大家指导一下.
运行环境
win10
office2016
打开记录集时用SQL语句,只能用星号代替字段名或者直接用表名
如果用字段名就出错.

如下过程出现:方法Open作用于Recordset对象失败
  1. Private Sub Command0_Click()
  2.     Dim rs As New ADODB.Recordset
  3.     Dim sSQL As String

  4.     sSQL = "SELECT ORD.STYLE, ORD.PO, ORD.COLOR, ORD.SIZE, ORD.QUANTITY FROM ORD" '错误
  5.    
  6.     rs.Open sSQL, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
  7.    
  8.     MsgBox rs.RecordCount

  9.     rs.Close
  10.     Set rs = Nothing
  11. End Sub
复制代码
而下面过程却运行正常,

  1. Private Sub Command1_Click()

  2.     Dim rs As New ADODB.Recordset
  3.     Dim sSQL As String

  4.    
  5.     sSQL = "SELECT * FROM ORD"
  6.    

  7.     rs.Open sSQL, CurrentProject.Connection, adOpenKeyset, adLockReadOnly   '运行正常
  8. '    rs.Open "ORD", CurrentProject.Connection, adOpenKeyset, adLockReadOnly  '运行正常
  9.    
  10.     MsgBox rs.RecordCount

  11.     rs.Close
  12.     Set rs = Nothing
  13. End Sub
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

发表于 2016-9-13 21:22:08 | 显示全部楼层
其实。。。。
就是 保留字的问题
改成这样就可以了
sSQL = "SELECT ORD.STYLE, ORD.PO, ORD.[COLOR], ORD.[SIZE], ORD.[QUANTITY] FROM ORD"

话说 Henry 版主好久不见了,玩什么去了:)
 楼主| 发表于 2016-9-14 00:57:03 | 显示全部楼层
tmtony 发表于 2016-9-13 21:22
其实。。。。
就是 保留字的问题
改成这样就可以了

非常感谢!
好久没碰Access,快忘了.
哪有功夫玩,呀
这几年一直上海,北京.
现在在家了

发表于 2016-9-14 12:22:16 | 显示全部楼层
保留字的问题确实很容易被忽略,例如:Name,Order什么的……我一般都是改为UserName,OrderNo等等的。
 楼主| 发表于 2016-9-14 12:49:14 | 显示全部楼层
roych 发表于 2016-9-14 12:22
保留字的问题确实很容易被忽略,例如:Name,Order什么的……我一般都是改为UserName,OrderNo等等的。

是的,
长时间没碰access都忘了
而数据又是来自外部链接.更没有注意字段名称.
被保留字SIZE搞得头晕!!

点击这里给我发消息

发表于 2016-9-14 15:14:18 | 显示全部楼层
欢迎 回到Office中国家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-28 20:05 , Processed in 0.098327 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表