Access 2010中的关系

问题描述

| 我在2010 Access数据库中有两个表。一个用于客户,一个用于发票。我创建了一个表单,在表单的顶部有一个用于新发票的查找字段。 我要尝试的是当您查找客户并选择他们时,他们的信息将自动填充到“发票”字段中的客户信息中(因此您无需重新输入)。保存后,它将不得不复制到发票表。 我假设这需要一对多关系?看来这是一个非常基本的步骤,但是如果很难找到答案,将不胜感激:)     

解决方法

您将要像这样设置表格: 顾客 ID 客户名称 其他领域... 发票 ID CustomerID(这是“客户”表的外键) 其他领域... 然后,在您的表单上,您将要(主要)将Invoices表用于Recordsource表单: 添加一个组合框,并将其ControlSource设置为Invoices表中的CustomerID字段。 将控件的RowSourceType设置为Table / Query。 将行来源设置为“ 0” 设置BoundColumn = 1 设置LimitToList =是 设置ColumnCount = 2 设置ColumnWidths = 0; 1(第二个数字比开头的0重要性小;开头的0表示可以隐藏ID列) 然后,用户将从组合框中选择客户与发票相关联(下拉)。没有要复制的字段。当您需要发票的客户信息时,只需将客户表与发票表连接起来,如下所示:
SELECT Customers.*,Invoices.* 
FROM Invoices INNER JOIN Customers ON Invoices.CustomerID = Customers.ID
请注意,在示例中,为简单起见,我使用了星号。最好明确指定要在SELECT查询中使用的列。