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

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

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

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

【问题讨论】:

    标签: ms-access format


    【解决方案1】:

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

    Address table
    AddressID
    etc
    
    Dentists
    DentistID
    etc
    
    DentistAddresses
    AddressID
    DentistID
    

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

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

    【讨论】:

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

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

    表:

    Areas
    - AreaID
    - AreaName
    

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

    Dentists:
    - DetistID
    - DentistName
    - DetistContactNumber
    - AreaID
    

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

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

    检索您正在寻找的结果。

    【讨论】:

    • 其实我只关注一个区域,我更想知道如何在每次手术中列出所有牙医,而不需要输入每个牙医的手术地址和电话号码.例如,一个手术可能有 5 位牙医,我需要将所有 5 位牙医与一个手术相关联,而不需要多次更改手术信息。
    猜你喜欢
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    相关资源
    最近更新 更多