Sql Access数据库的更新查询
我维护在Access中开发的应用程序。我必须实现一个更新查询,但我现在很困,我不明白为什么 基本上,查询必须在同一个表中的另一条记录之后更新表X中的一条记录,但我编写的查询不做任何操作,我单独测试了更新和选择,它们都可以工作,但是一起工作,没有 我希望你们中的一些人能发现我的问题 这是我写的查询,我确实删除了一些字段以避免太长,当然,您将看到的查询经过测试,以确保它不是问题中缺少的字段Sql Access数据库的更新查询,sql,ms-access,Sql,Ms Access,我维护在Access中开发的应用程序。我必须实现一个更新查询,但我现在很困,我不明白为什么 基本上,查询必须在同一个表中的另一条记录之后更新表X中的一条记录,但我编写的查询不做任何操作,我单独测试了更新和选择,它们都可以工作,但是一起工作,没有 我希望你们中的一些人能发现我的问题 这是我写的查询,我确实删除了一些字段以避免太长,当然,您将看到的查询经过测试,以确保它不是问题中缺少的字段 UPDATE TABLE_X AS recordToUpdate, ( SELECT
UPDATE
TABLE_X AS recordToUpdate,
(
SELECT
DUP_C2B_From_CPL.[NUM-GrpHdr],
DUP_C2B_From_CPL.[NUM-LOT],
DUP_C2B_From_CPL.[SINGLE-SCENARIO],
DUP_C2B_From_CPL.EqvtAmt,
DUP_C2B_From_CPL.EqvtAmtCur,
DUP_C2B_From_CPL.EqvtAmtCurTft,
DUP_C2B_From_CPL.XchgRateInfExchangeRate,
DUP_C2B_From_CPL.XchgRateInfRateType,
DUP_C2B_From_CPL.XchgRateInfContractId,
DUP_C2B_From_CPL.ChqTp
FROM DUP_C2B_From_CPL
) AS originalRecord
SET
recordToUpdate.EqvtAmt = originalRecord.EqvtAmt,
recordToUpdate.EqvtAmtCur = originalRecord.EqvtAmtCur,
recordToUpdate.EqvtAmtCurTft = originalRecord.EqvtAmtCurTft,
recordToUpdate.XchgRateInfExchangeRate = originalRecord.XchgRateInfExchangeRate,
recordToUpdate.XchgRateInfRateType = originalRecord.XchgRateInfRateType,
recordToUpdate.XchgRateInfContractId = originalRecord.XchgRateInfContractId,
recordToUpdate.ChqTp = originalRecord.ChqTp
WHERE
recordToUpdate.[SINGLE-SCENARIO] = 112811
DUP_C2B_From_CPL这里是一个子查询,它正在检索我感兴趣的记录,以便我可以获取它的值来更新另一个记录
在最后一个WHERE闭包中,我对id进行了硬编码,以提高可读性,是的,它存在:
而且设计器的渲染正确,因此这方面没有错误。但正如我所说,它似乎没有更新任何东西
如果您需要更多信息,请随时告诉我。您可以尝试以下方法
UPDATE
Table1 AS t1
INNER JOIN Table1 AS t2
ON t1.Field1 = t2.Field2
SET
T1.Field1 = t2.field1
如果没有任何连接,那么您可以像下面这样尝试
UPDATE Table1 t1 , Table1 t2
SET T1.Field1 = t2.field1
where t1.field1 = 'aa' and t2.field1 = 'bb'
嗯,出于某种原因,我不得不重新启动我的笔记本电脑,而查询现在正在运行
谢谢您的帮助。recordToUpdate和originalRecord之间不应该有连接吗?i、 e.我想你需要一个查询才能更新。它似乎没有更新任何东西运行查询时会发生什么情况?Access是否显示0条记录已更新,或者是否有其他消息?嗨,Andre,我无法加入,因为它们之间没有唯一标识符。我第一次尝试这样做,但我被卡在了on上,因为这可能会导致更新错误的记录@编辑:运行查询时会发生什么?Access是否显示0条记录已更新,或者是否有其他消息?当我运行查询时,它会显示所有应该更新的列,但其中没有数据。当我刷新表时,应该更新的记录不会被更新。当我运行查询时,它会显示所有应该更新的列,但其中没有数据。-要实际执行操作查询,您必须单击“执行”或“运行”按钮红色感叹号,而不是“数据表”按钮。感谢Jatin的输入,但它不起作用,结果仍然相同,没有任何更改,我尝试从您的第二个查询中选择,我得到了正确的结果,但随着更新,没有。