Foxtable(狐表)用户栏目专家坐堂 → [求助]update明细金额到主表


  共有251人关注过本帖树形打印复制链接

主题:[求助]update明细金额到主表

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2281 积分:18756 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]update明细金额到主表  发帖心情 Post By:2025/2/16 22:31:00 [显示全部帖子]

cmd.CommandText = "UPPDATE TbCorrect Set CV = ( Se1ect sum(BackV)   From TbCorrectD   Where TbCorrectD.CorrectID = 'xxx'  ) where  id = 'xxx'"
    cmd.ExecuteNonQuery

提示错误:操作必须使用一个可更新的查询

现在使用access做数据库


[此贴子已经被作者于2025/2/16 22:31:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2281 积分:18756 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2025/2/16 22:57:00 [显示全部帖子]

还是不行哦,提示操作必须使用一个可更新的查询
upPdate TbCorrect as a inner join (Se1ect CorrectID,sum(BackV) as  XV  From TbCorrectD where  CorrectID = 'xxx'  group by CorrectID) as b on a.id = b.CorrectID Set a.CV = b.XV where  a.id = 'xxx'


这个在杂项>执行>SQL执行,运行还是会报错
[此贴子已经被作者于2025/2/16 23:04:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2281 积分:18756 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2025/2/16 23:07:00 [显示全部帖子]




图片点击可在新窗口打开查看不会啊,主表有ID的,它是一个数据表,不是查询表
明细表的ID是空值倒是真的,但主表的ID不是空值
图片点击可在新窗口打开查看
是不是跟数据库是access有关?
[此贴子已经被作者于2025/2/16 23:35:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2281 积分:18756 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2025/2/17 10:11:00 [显示全部帖子]

图片点击可在新窗口打开查看我把TbCorrect的ID列设为了主键,还是执行不了哦
依然报错为
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2025.1.3.1
错误所在事件:
详细错误信息:
操作必须使用一个可更新的查询。

cmd.CommandText = "upPdate TbCorrect as a inner join (Se1ect CorrectID,sum(BackV) as  合计  From TbCorrectD where  CorrectID = '" & mainid & "'  group by CorrectID) as b on a.id = b.CorrectID Set a.CV = b.合计 where  a.id = '" & mainid & "'"

[此贴子已经被作者于2025/2/17 10:14:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2281 积分:18756 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2025/2/17 11:11:00 [显示全部帖子]

在access中也不可执行,提示错误是一样的

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2281 积分:18756 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2025/2/17 11:31:00 [显示全部帖子]



如果直接执行下面这样,是没有问题的
updXate tbcorrect
set TbCorrect.cv = 3912

但分两步执行就还是报错:
(1)在access中做了一个查询表:CSSum(这个可以正常执行,结果也是正确的):
SE1ECT CorrectID, sum(BackV) AS SV
FROM TbCorrectD
WHERE CorrectID = '713006e7-6ecc-48bb-8523-9e77ca62af1f'
GROUP BY CorrectID

(2)然后再执行SQL
UPpDATE TbCorrect 
inner JOIN CSSum  ON TbCorrect.ID = CSSum.CorrectID
SET TbCorrect.cv = CSSum.sv

还是不行啊。
不会是access不支持吧?
提示错误:操作必须使用一个可更新的查询


网上的解释是:ACCESS不支持select子查询结果用作update参数
[此贴子已经被作者于2025/2/17 23:56:45编辑过]

 回到顶部