访问报表/查询设计

Posted

技术标签:

【中文标题】访问报表/查询设计【英文标题】:Access Report/Query Design 【发布时间】:2014-03-07 22:22:38 【问题描述】:

我正在尝试在 Access 中设计一个从 3 个单独的表格中获取信息的报告。

表格布局如下:

主用户表: 用户 ID(主键) 名字 姓 全名(名字和姓氏字段的组合)

好友表: FriendID(主键) 用户 ID(外键) 名字 姓 街道地址 城市 状态 拉链 电话号码 CommentID(外键)

评论表: 评论ID 评论

对于此示例,假设主用户表中有 Jane Doe 记录,然后她有三个朋友 Mary Doe、Lotta Doe 和 Pisa Doe。每个朋友还有3个cmets。

根据这些信息,我构建了一个查询,其中包含所有 3 个表和所有可用字段,以及主用户表 FullName 列上的条件:[输入用户全名:]

我试图在报告中获得的是主要用户 FullName 作为标题,如有必要,将重复每一页,然后列出朋友姓名和地址信息一次,然后打印链接到该朋友的所有 cmets(3 in本例)。

所以报告看起来像:

简·多伊

玛丽·多伊

主街 123 号 任何地方,ST,12345 123-456-7890 评论: 周五吃午饭 评论: 周六生日 评论: 有一个叫杰弗里的孩子

洛塔·多伊

主街 124 号 任何地方,ST,12345 123-456-7890 评论: 周二吃午饭 评论: 周五去健身房 评论: 周一飞往洛杉矶

比萨杜伊

主街 123 号 任何地方,ST,12345 123-456-7890 评论: 讨厌披萨 评论: 有蓝房子 评论: 有六个孩子

在创建报告时,我按主要人分组,然后是朋友,然后是评论,但我总是以朋友列表中的第一个人结束,但所有 cmets。关于我应该如何创建查询和报告以获得所需结果的任何建议?提前致谢!

【问题讨论】:

你能把你的报告设计截图吗?有点不相关,如果朋友也是主用户怎么办? 【参考方案1】:

您的Comment 表没有包含足够的信息来支持您的报告需求。我建议以下列:

CommentID ByUserIDUsers 表的外键,UserIDAboutFriendIDFriends 表的外键,FriendIDComment

更改上述内容并填写所有用户、朋友和评论数据后,您必须从Friends 表中删除CommentID 列。

现在您需要调整作为报表数据源的基本查询,以便为您提供以下列输出(例如):

UserFullName FriendFullName FriendAddress FriendPhone UserCommentAboutFriend

您可以使用这种数据格式来获取您需要的报告。

【讨论】:

您的建议和修复表关系错误使我能够生成我正在寻找的报告。

以上是关于访问报表/查询设计的主要内容,如果未能解决你的问题,请参考以下文章

在执行报表打开事件之前访问报表运行查询

报表中的访问使用查询

从报表中导出查询以访问带有参数的 Excel

在报表中显示访问查询结果

如何始终在访问报表中显示子报表

2015软件设计论点总结