在 Microsoft Access 中将多人关联到一个地址的最佳方法是啥?

Posted

技术标签:

【中文标题】在 Microsoft Access 中将多人关联到一个地址的最佳方法是啥?【英文标题】:What is the best way to associate multiple people to one address in Microsoft Access?在 Microsoft Access 中将多人关联到一个地址的最佳方法是什么? 【发布时间】:2012-09-20 19:54:14 【问题描述】:

我正在为我的老板设计一个数据库,他希望在该数据库中列出某个区域内的所有牙科手术,并列出该手术的每位牙医。 解决这个问题的最佳方法是什么? 我倾向于拥有一张只包含牙医姓名的单独表格,因为将它们全部放在一张桌子上会变得拥挤/混乱。 唯一的问题是他希望能够看到屏幕并看到以这种格式布置的所有内容:

牙科诊所_________牙医姓名__________ 地址________电话号码_______等 ____________________________牙医姓名 ____________________________牙医姓名 _________________________牙医姓名

这可以在表格视图中实现,还是我必须创建两个单独的表格并将它们链接到一个报告中以显示给他?

【问题讨论】:

【参考方案1】:

将地址存储在一个表中,将名称存储在另一个表中,创建一个连接表以显示哪个牙医属于哪个地址。创建一个表格来显示信息。您将需要连接表,因为我认为您会发现一些牙医从多个地址进行操作。

Address table
AddressID
etc

Dentists
DentistID
etc

DentistAddresses
AddressID
DentistID

只要您的表被正确索引,您就可以创建一个查询,该查询将构成表单的基础以显示数据。您还应该考虑子表单,您说明的布局是 MS Access 中的表单/子表单设置。地址将在主窗体中,牙医列表在子窗体中,这将基于联结表。

更改地址时要非常小心。用户不能编辑地址,他们必须创建一个新地址。

【讨论】:

谢谢,这真的很有帮助:) 我如何创建一个连接表呢?无需再次手动输入信息?请记住,我会看成千上万的牙医。 目前牙医和地址在哪里? 我还没有开始整理它们。想要设置数据库,以便我可以在找到它们时输入它们。 在这种情况下,将通过添加记录来创建联结表。在主表单中输入地址,确保您的链接字段正确,使用小的弹出表单或仔细设置将牙医添加到子表单。如果牙医在多个地址,您只需选择它们即可。查看一些示例数据库。 另见:***.com/questions/12131211/…【参考方案2】:

嗯,您需要的是一个列出区域的表格。

表:

Areas
- AreaID
- AreaName

还有一张牙医表,通过外键引用区域表

Dentists:
- DetistID
- DentistName
- DetistContactNumber
- AreaID

这将允许您编写类似的查询

SELECT  *
FROM    Dentists d INNER JOIN
        Areas a ON d.AreaID = a.AreaID

检索您正在寻找的结果。

【讨论】:

其实我只关注一个区域,我更想知道如何在每次手术中列出所有牙医,而不需要输入每个牙医的手术地址和电话号码.例如,一个手术可能有 5 位牙医,我需要将所有 5 位牙医与一个手术相关联,而不需要多次更改手术信息。

以上是关于在 Microsoft Access 中将多人关联到一个地址的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Access 表单 - 列表框、文本框(两个表格)

设计 - Microsoft Access - 唯一的“序列号”

从 Microsoft Access 2007 迁移到 Sql Server 2005

基于给定查询的 Microsoft 访问表

如何在Delphi中将诸如TMemo等文本控件的内容保存为TXT文件?

Microsoft.ACE.OLEDB.12.0 提供程序未注册