【发布时间】:2020-07-13 23:13:17
【问题描述】:
我有一张名为:Transaction 的表。此表具有以下字段:(ID、ProductName、Amount、Date)放置在与 MS Access 数据库连接的 Excel 表中。 ID 是唯一的唯一字段。有时,我的用户提交的交易有 5 条记录。然后,他们想修改提交的数据,以防他们输入了错误的金额并且他们想更正它。我想在 VBA 中编写一个代码来进行更新。我当前的查询是:
Update table Transaction(ProductName,Amount) set ProductName=@Product,Amount=@Amount)
where Date=@date;
这个查询不能正常工作,因为很明显它用上次重新提交记录的数据替换了所有记录数据,因为我的条件很弱。我的困难是我无法在 where 子句中找到一个好的条件来相应地逐条更新记录。 请帮忙,
【问题讨论】:
-
您将需要访问唯一 ID 字段并在 where 子句中使用该字段进行更新。
-
每条记录的 ID 是否不同?您能否添加一个列出所有 ID 的 where 条件?
-
是的,ID 是一个标识符(自动编号)。
-
@Doug,你能澄清一下 SQL 中的情况吗?
-
更新表 Transaction(ProductName,Amount) set ProductName=@Product,Amount=@Amount) where ID = "id of record you want to update"