【问题标题】:Creating and Calculating Fields in Access在 Access 中创建和计算字段
【发布时间】:2016-09-01 05:17:47
【问题描述】:

我一直在为学校做一个本应该相当简单的练习。出于某种原因,我无法完全弄清楚我哪里出错了。我已经做了一段时间了,所以我可能会忽略一些简单的事情。我在数据库方面有一些经验,并且今天早些时候在一个应用程序中实际实现了 sqlite,但是访问让我陷入了循环!非常感谢任何帮助。

路线:

在 tblEmployee 表和 tblDepartment 表之间以及 tblEmployee 和 tblSale 表之间创建关系。请务必在这两种关系中强制执行参照完整性。 使用 tblEmployee、tblProduct、tblSale 和 tblSaleDetail 表在设计视图中创建查询。添加第一个、最后一个和活动?字段(按该顺序)到查询。对查询进行以下更改: 仅显示在职员工。 在第一个空列中,计算每个在职员工的新字段 Total Sales (UnitPrice * Quantity)。 仅显示总销售额超过 300.00 美元的员工。 为每个在职员工计算一个新字段,即总收入(总销售额 - (优惠券 * 数量))。 对 UnitPrice、Quantity、Coupon、Total Sales 和 Total Revenue 字段求和。 在查询结果中显示 First、Last、Total Sales 和 Total Revenue。

访问设置

当我运行查询时

为什么没有从该等式中填充总销售额?

另外,我有点不清楚在哪里添加 > 300.00 以过滤员工销售额。

【问题讨论】:

  • 能否提供您在设计视图中创建的 SQL 语句?最好是它的清理版本...

标签: database ms-access search


【解决方案1】:

这里的问题不是total sales 列,而是您在创建名为total revenue 的列时引用了计算字段total sales

Total Sales 仅在运行查询后计算,但total revenue 想在运行查询之前知道该值是多少。

解决方法是使用相同的计算:

 total revenue: ([Quantity]*[UnitPrice])-([coupon]*[quantity])

另一种解决方法是创建一个计算total sales 的查询。然后,您可以将该查询插入到该查询中并将其用作子查询。

至于“员工销售”的“300”。我认为以下可能有效:

我假设这是一个小数点后 2 位的货币值,而不是“销售数量”值。因此,我会添加一个新列。

SumOfSales: sum([tblSales].[quantity]*[tblSales].[UnitPrice])

  • 标准:>300.00
  • 显示:未勾选

【讨论】:

  • 你说得很有道理,让我觉得很愚蠢。谢谢一百万!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-08
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 2018-04-04
  • 1970-01-01
相关资源
最近更新 更多