设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1919|回复: 1
打印 上一主题 下一主题

[ADO/DAO] ACCESS中,编辑记录集,一次赋值影响到多行

[复制链接]
跳转到指定楼层
1#
发表于 2016-11-11 15:00:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DIM R(0) AS ADODB.RECORDSET,S(0) AS STRING
S(0)="SELECT 表1.字段3 FROM 表1"
S(0)=S(0) & " WHERE 表1.字段1=‘BZRJH’ AND 表1.字段2=1"       '字段1和字段2构成表1的主键
CALL ADORcrdst(S(0),R(0))                                                     '自定义记录集打开的函数
WITH R(0)
    .FIELDS("字段3").VALUE="AADD"
    .UPDATE         '出错提示:-2147467259  键列信息不足或不正确。更新影响到多行
END WITH

记录集变量打开后,对该记录集变量的编辑,只对应一条记录,为什么会更改多行?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2016-11-12 00:51:43 | 只看该作者
1、发错版块被关注是比较少的。
2、我不知道你的自定义函数是怎么写的,从个人经验来看,自定义函数应当返回一个记录集,否则R(0)就是一个未被传递参数的对象。既然没有传递参数,with部分自然就出错。
3、没附件,没子函数,一般很难排查。

根据目前get到的信息,修改意见如下:

自定义函数部分:
Function ADORcrdst(ByVal strSQL As String)  AS ADODB.Recordset
………………
End Function

主体函数部分:
Set R(0)=ADORcrdst(S(0))   
With R(0)
………………
End With
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 19:33 , Processed in 0.075331 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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