【问题标题】:How to update a coloumn in access 2007 based on a calculation?如何根据计算更新 access 2007 中的列?
【发布时间】:2011-05-25 00:07:01
【问题描述】:

基本上,我有一张桌子,其中有一列“股票”,第二列“已发行”。假如 stock 列的值为 40,这意味着商店中有 40 件商品,我希望每当我们为 stockissued 列输入值时,之前的 stock 值都会相应减少。就像如果我们在股票发行字段中写出 40 个中的 10 个,那么股票值应该从 40 减少到 30。

另一个重要的事情是,股票字段表单中的新记录每次都应该更新以前的递减值。

我需要紧急帮助 bcz 正在处理一个项目!

【问题讨论】:

  • 这里的每个人都在做一个项目。 “我需要紧急帮助”意味着你要么一开始就不应该接受这个项目,要么你没有花你应该花的时间。这听起来更像是一个家庭作业问题。您应该添加 homework 标签,然后发布您迄今为止尝试过但不起作用的内容;这里有人可以提供帮助。
  • 您遇到了数据结构问题。您应该使用表中的记录而不是表中的列来跟踪库存编号。

标签: ms-access ms-access-2007


【解决方案1】:

正如您所说,您正在将值输入到表单中,这实际上非常容易。您可以在单击按钮时使用以下代码,或将其设置为在更新您输入值的字段时运行。

我的工作是假设您在同一表格上拥有当前值和要减少的金额。

Dim UpdatedValue as string
UpdatedValue = Me.stock - Me.stockissued
Updatesql = " UPDATE YourTable SET YourTable.Stock=" & (UpdatedValue) & " " & _ 
"WHERE [YourTable]![RecordID] = Me.RecordID "

Docmd.runsql updatesql

显然您需要用您自己的替换表和字段名称,我还添加了一个 WHERE 条件,以确保您不会意外更新表中的所有记录!只是您当前表单上的一个活动

【讨论】:

  • 您是否建议在编辑表单中的相同数据时运行 SQL 更新语句?在我看来,这是一个糟糕的主意,但如果你要这样做,你需要确保在运行 SQL 语句之前保存记录。
  • 好点实际上大卫,我通常将这种类型的语句设置为在单击保存和关闭表单和记录的按钮时运行。由他们想要使用该语句的原始请求者决定
猜你喜欢
  • 2021-03-30
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 2021-11-21
相关资源
最近更新 更多