【问题标题】:Relationships in Access 2010Access 2010 中的关系
【发布时间】:2011-04-14 17:31:57
【问题描述】:

我在 2010 Access 数据库中有两个表。一份用于客户,一份用于发票。我为新发票创建了一个顶部带有查找字段的表单。

我想要做的是,当您查找客户并选择他们时,他们的信息将自动填充到发票字段上的客户信息中(因此您不必重新输入)。然后,它必须在您保存时复制到发票表中。

我假设这需要一对多的关系?看起来这是一个非常基本的步骤,但很难找到答案,任何帮助将不胜感激:)

【问题讨论】:

    标签: ms-access sharepoint-2010 table-relationships


    【解决方案1】:

    您需要像这样设置您的表格:

    客户

    • 身份证
    • 客户姓名
    • 其他字段...

    发票

    • 身份证
    • CustomerID(这是客户表的外键)
    • 其他字段...

    然后在您的表单上,您将希望(主要)将 Invoices 表用于表单 Recordsource:

    1. 添加一个组合框并将其 ControlSource 设置为 Invoices 表中的 CustomerID 字段。
    2. 将控件的 RowSourceType 设置为 Table/Query。
    3. 将行源设置为SELECT ID, CustName FROM Customers ORDER BY CustName
    4. 设置 BoundColumn = 1
    5. 设置 LimitToList = 是
    6. 设置 ColumnCount = 2
    7. 设置列宽 = 0; 1(第二个数字不如最初的 0 重要;最初的 0 告诉访问隐藏 ID 列)

    然后,用户将从组合框(下拉菜单)中选择要与发票关联的客户。没有要复制的字段。当您想要发票的客户信息时,您只需将客户表与发票表连接起来,如下所示:

    SELECT Customers.*, Invoices.* 
    FROM Invoices INNER JOIN Customers ON Invoices.CustomerID = Customers.ID
    

    请注意,为了简单起见,我在示例中使用了星号。明确指定要在 SELECT 查询中使用的列是一种很好的做法。

    【讨论】:

    • 谢谢!我重新开始使用网络数据库,因为我们将使用共享点,而且它更容易,但这可能是因为它似乎在你能做的事情上受到更多限制......
    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多