【发布时间】:2021-02-02 20:52:59
【问题描述】:
出于投标目的,我正在整理我们的联系人的 MS Access 数据库。当您单击按钮时,我正处于构建中想要展开和显示公司详细信息的位置。我已经编写了按钮来运行我的查询并在表单上显示数据。我遇到的问题是:我的数据被复制了。例如:
我有一家公司 (tbl_Company)
该公司有 3 个联系人 (tbl_Contacts)
该公司还拥有 2 个许可证 (tbl_CoLic)
我的查询输出是 6 行数据,每个联系人都有每个许可证。
我的最终目标是在表格上显示每家公司的所有详细信息,而不复制其他信息。我总共有 6 个表,其中包含不同的公司详细信息,这 6 个表中的每一个都可以有一个或多个与每个公司关联的记录。
我可以运行单独的查询来为每个详细信息填充列表框,但这似乎很麻烦。有没有更好的办法?请注意,这一切都是在 MS Access 中完成的,而不是在 SQL Server 中完成的。这是我现在的查询:
SELECT tbl_Company.[Company Name], tbl_Contact.[First Name], tbl_Contact.[Last Name], tbl_CoLic.[License Number], tbl_CoLic.[License Code], tbl_CoLic.[Primary License], tbl_CoWA.County, tbl_CoPS.[Project Size], tbl_CoRef.District, tbl_CoRat.Rating, tbl_CoRat.Notes
FROM (((((tbl_Company INNER JOIN tbl_CoPS ON tbl_Company.[Company ID] = tbl_CoPS.[Company ID]) INNER JOIN tbl_CoRat ON tbl_Company.[Company ID] = tbl_CoRat.[Company ID]) INNER JOIN tbl_CoRef ON tbl_Company.[Company ID] = tbl_CoRef.[Company ID]) INNER JOIN tbl_CoLic ON tbl_Company.[Company ID] = tbl_CoLic.[Company ID]) INNER JOIN tbl_CoWA ON tbl_Company.[Company ID] = tbl_CoWA.[Company ID]) INNER JOIN tbl_Contact ON tbl_Company.[Company ID] = tbl_Contact.[Company ID]
WHERE (((tbl_Company.[Company ID])=[TempVars]![Details]));
【问题讨论】:
-
那么你需要用子表单构建表单。或者更好的是报告,而不是表格,可能带有子报告。数据应该以文本表的形式发布,而不是图像。这是一个设计问题,而不是编程问题,响应基本上是意见,因此问题并不真正适合 SO。另一种考虑stackoverflow.com/questions/54789423/…的方法
-
June7 比我知道的多得多,但我还是不同意,因为我觉得与 Access API 的交互是编程。但是我可以看到,我急于完成答案需要在这一点上进行一些润色
标签: ms-access