标题:adodb update+select 语句提示 “操作必须使用一个可操作的查询”
只看楼主
kitoyang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-7-19
 问题点数:0 回复次数:1 
adodb update+select 语句提示 “操作必须使用一个可操作的查询”
adodb update+select 语句提示 “操作必须使用一个可操作的查询”,网上说是access 不支持update带select子查询,不只如何解决?还请大牛帮忙看一下:

以下是代码,代码的目的是根据子查询Sql1的结果,更新[20210604$]的“总库存”字段:

Sub kucun()

Dim cnn As Object, rst As Object

Dim Mypath$, Datapath$, Str_cnn$, Sql1$, Sql2$
Set cnn = CreateObject("adodb.connection")
Set rst = CreateObject("adodb.recordset")
'绑定ADO

Mypath = ThisWorkbook.FullName
Datapath = ThisWorkbook.Path & "\库存.xlsx"

Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & Mypath
cnn.Open = Str_cnn
'建立数据连接

Sql1 = "select 物料代码, sum(基本单位数量) as 总库存 from [Excel 12.0;DATABASE=" & Datapath & "].[即时库存$] group by 物料代码"

Sql2 = "update  [20210604$]a Left Join (" & Sql1 & ")b on a.料号=b.物料代码 set a.总库存=b.总库存"

cnn.Execute (Sql2)

cnn.Close
Set cnn = Nothing

End Sub
搜索更多相关主题的帖子: select 库存 操作 adodb update 
2021-07-19 14:07
厨师王德榜
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
你这个问题好像跟Access无关吧?
如果是同时关联两个文件,是不是需要建立两个connection,并且,两个connection都要打开才行?
2021-07-20 12:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506272-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.128810 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved