access 2013:如何在数据表中显示计算值?

时间:2016-11-15 21:52:27

标签: sql ms-access

我正在开发库数据库系统并为ms访问中的用户构建前端

我可能需要一些关于如何在表单上显示记录的计算值的帮助。

让我们说我们有两张桌子:

  • titles
  • 实例

有许多标题(例如"书名1号和34号;"书名2号和#34; ......)以及这些标题的许多实例,即实际书籍。每个图书实例都通过title-id链接到标题。

在实例表格中,我们存储了每本书上的某些状态等附加信息(例如"确定","不是最佳状态" ...)

现在,如果有人搜索标题,我想在一个表格中显示该标题的所有实例的信息,例如:

  

标题|没有可用的实例| " OK" | "不是最好的形状" ...

     

"标题号1" | 5 | 3 | 2 ...

这意味着:标题来自标题表,其他字段是来自标题和实例表的连接的计算。我无法弄清楚的是:如何在表格的表格中显示彼此相邻的多个计算值?

我设法通过创建计算值的查询然后将表单基于此查询来显示一个计算值(例如每个标题的实例数)。

SELECT tabTitle.Title, Count(tabInstances.TitleID) AS NoOfInstancesPerTitle
FROM tabTitle INNER JOIN tabInstances ON tabTitle.TitleID = tabInstances.TitleID
GROUP BY tabTitle.Title;

但我如何设法显示多个计算值?

我怎样才能做到这一点?有人能帮助我吗?

非常感谢帮助! THX!

1 个答案:

答案 0 :(得分:0)

听起来你走的是正确的道路。

我会使用计算字段创建一个查询,并将表单基于:

SELECT tabTitle.Title, Count(tabInstances.TitleID) AS NoOfInstancesPerTitle, Sum(iif(tabInstances.Status ="OK",1,0)) as [OK], Sum(iif(tabInstances.Status ="Not in best shapre",1,0)) as [Not In Best Shape] 
FROM tabTitle INNER JOIN tabInstances ON tabTitle.TitleID = tabInstances.TitleID
GROUP BY tabTitle.Title;

如果您使用查找表获取状态,那么此查询将略有不同,但不会太多。