ACCESS中如何让表关联

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACCESS中如何让表关联相关的知识,希望对你有一定的参考价值。

参考技术A 步骤如下:
关闭已打开的所有表。 您不能创建或修改打开的表之间的关系。
按 F 11 键切换到数据库窗口。
在 工具 菜单中上, 单击 关系 。
如果您尚未尚未定义任何关系数据库中, 显示表 对话框会自动显示。 如果希望向中添加要关联,但将不会显示 显示表 对话框的表,单击 显示表 在 关系 菜单上。
双击要关联,表的名称,然后关闭 显示表 对话框。 要创建一个表与其本身之间的关系,请按如下所两次添加的表。
将拖动要从一个表与其他表中,相关字段。 若要拖动多个字段,按 Ctrl 键,单击每个字段中,然后拖动这些。
在大多数的情况下应主键字段 (以加粗文本显示) 将从一个表拖动到一个类似字段 (通常具有相同的名称) 其他表中称为外键。
在出现 编辑关系 对话框。 请确保两个列中显示的字段名称正确。 如果需要,可以更改它们。
如果需要,请设置关系选项。 如果您需要有关特定物料,在 编辑关系 对话框的信息,请单击问号按钮,然后单击物料。 将被下文中的详细解释这些选项。
单击 创建 以创建关系。
重复步骤 5 至第 8 步每对要关联的表。
当您关闭 编辑关系 对话框时,Microsoft Access 会询问是否要保存布局。 是否保存布局或不,您创建的关系被保存在数据库。
注意: 您可以在查询和表中创建关系。 但是,查询不实施参照完整性。
如何定义多多关系
要创建多对多关系,请按下列步骤操作:
创建将具有多对多关系的两个表。
创建第三个表称为一个联接表并将然后添加到联接表新字段,与作为主键字段相同的定义从每个其他两个表。 在联接表中主键字段作为外键。 可以添加到联接表的其他字段一样可以向任何其他表。
在联接表中设置将其他两个表中的主键字段主键。 是例如 TitleAuthors 联接表中主键将组成订单 ID 和产品 ID 字段。
注意 : 创建主键,请按照下列步骤:
在设计视图中打开表。
选择您要定义主键字段值。 若要选择一个字段,请单击所需的字段的行选择器。
要选择多个的域,请按下该 Ctrl 键,然后单击每个字段在行选择器。
单击工具栏上的 主键 。
注意: 如果您希望多字段主键中字段次序与表中的这些字段的次序不同,请在以显示 索引 对话框,然后重新排列字段名称索引名为 PrimaryKey 的工具栏上单击 索引 。
定义每个两个主表和联接表之间的一对多关系。
参考技术B 关闭已打开的所有表。
您不能创建或修改打开的表之间的关系。

f
11
键切换到数据库窗口。

工具
菜单中上,
单击
关系

如果您尚未尚未定义任何关系数据库中,
显示表
对话框会自动显示。
如果希望向中添加要关联,但将不会显示
显示表
对话框的表,单击
显示表

关系
菜单上。
双击要关联,表的名称,然后关闭
显示表
对话框。
要创建一个表与其本身之间的关系,请按如下所两次添加的表。
将拖动要从一个表与其他表中,相关字段。
若要拖动多个字段,按
ctrl
键,单击每个字段中,然后拖动这些。
在大多数的情况下应主键字段
(以加粗文本显示)
将从一个表拖动到一个类似字段
(通常具有相同的名称)
其他表中称为外键。
在出现
编辑关系
对话框。
请确保两个列中显示的字段名称正确。
如果需要,可以更改它们。
如果需要,请设置关系选项。
如果您需要有关特定物料,在
编辑关系
对话框的信息,请单击问号按钮,然后单击物料。
将被下文中的详细解释这些选项。
单击
创建
以创建关系。
重复步骤
5
至第
8
步每对要关联的表。
当您关闭
编辑关系
对话框时,microsoft
access
会询问是否要保存布局。
是否保存布局或不,您创建的关系被保存在数据库。
注意:
您可以在查询和表中创建关系。
但是,查询不实施参照完整性。
如何定义多多关系
要创建多对多关系,请按下列步骤操作:
创建将具有多对多关系的两个表。
创建第三个表称为一个联接表并将然后添加到联接表新字段,与作为主键字段相同的定义从每个其他两个表。
在联接表中主键字段作为外键。
可以添加到联接表的其他字段一样可以向任何其他表。
在联接表中设置将其他两个表中的主键字段主键。
是例如
titleauthors
联接表中主键将组成订单
id
和产品
id
字段。
注意

创建主键,请按照下列步骤:
在设计视图中打开表。
选择您要定义主键字段值。
若要选择一个字段,请单击所需的字段的行选择器。
要选择多个的域,请按下该
ctrl
键,然后单击每个字段在行选择器。
单击工具栏上的
主键

注意:
如果您希望多字段主键中字段次序与表中的这些字段的次序不同,请在以显示
索引
对话框,然后重新排列字段名称索引名为
primarykey
的工具栏上单击
索引

定义每个两个主表和联接表之间的一对多关系。

传递查询如何在Access中使用SQL Server数据库引擎进行查询

hi,大家好,我是Edon


今天,我要大家分享一个与SQL Server相关联的示例。


使用Access进行应用系统开发,基于安全性、扩展性等多种原因,我们可能会使用SQL Server作为后台数据库。如果不使用ADP(ADP的方式已经淘汰了,可以不再学习),客户前端就只能通过链接表的方式连接到SQL Server数据库。但用链接表方式时,由于对数据的处理依然要通过Access 的Jet引擎来进行的,所以当数据量很大的时候,性能还是很差。这个时候我们就可以用到SQL Server了。

 

Access中让SQL Server来进行查询的方式就是传递查询。假如我们需要进行一个选择查询,可以先将查询在SQL Server中定义为一个带参数的存储过程,然后在Access中通过传递查询来返回存储过程查询得到的结果。但在传递查询中不支持VBA,所以我们不能使用类似于“Forms!窗体名!控件名”的方式将条件绑定到窗体控件作为变量。对于此种情况,我们可以在每次通过传递查询进行查询的时候,用代码自动重写查询的SQL属性来变通实现。

 

具体示例步骤如下:

0 1
在SQL Server中创建一个带参数的存储过程


我们先在SQL Server创建一个带参数的存储过程,文中的示例用的是SQL Server 2012版本。这里我们来查询对应产品的信息。


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询

CREATE PROCEDURE SP_Product
(@ProductName AS NVARCHAR(100))
AS
SELECT *
FROM dbo.tbl_ProductList
WHERE ProductName LIKE @ProductName;
GO


0 2
在Access中创建查询


a.在Access中新建一个查询,不选择任何表,然后通过点击菜单——查询——SQL 特定查询——传递查询,将查询更改为传递查询:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询

b.点击工具栏上【传递查询】如何在Access中使用SQL Server数据库引擎进行查询的按钮,显示出查询属性窗口;


c.在查询属性窗口中,点击“ODBC 连接字符串”属性右边的生成器,通过向导设置到SQL Server的连接:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询


d.成功连接到SQL Server数据库后的效果如下:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询

这里的配置是我自己电脑上的信息,大家在测试时需要替换成自己的信息。

如何链接SQL Server数据库请查询我之前的文章:


0 3
查询中添加传递代码


再将该查询的中添加传递查询的代码:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询


execute SP_Product @ProductName='%'


0 4
创建窗体


创建一个窗体,创建一个用于输入查询内容的名为“查询内容”的文本框,和一个用于执行查询的名为“查询”的命名按钮,以及一个用于显示查询结果的子窗体,这里我们直接用查询对象作为子窗体的来源对象:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询


0 5
添加代码


接下来在窗体的加载事件过程和按钮的单击事件过程中,添加代码:


Private Sub Command0_Click()
CurrentDb.QueryDefs("qry结果").SQL = "execute SP_Product @ProductName='%" & Me.txt查询内容 & "%'"
Me.Child1.Requery

End Sub

Private Sub Form_Load()
CurrentDb.QueryDefs("qry结果").SQL = "execute SP_Product @ProductName='%'"
Me.Child1.Requery
End Sub


0 6
运行测试



窗体的加载事件代码用于打开窗体时查询所有记录,效果如下:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询

在输入框中输入要查询的值,然后单击“查询”按钮,我们就能得到由SQL Server数据库引擎查询得到的记录:


【传递查询】如何在Access中使用SQL Server数据库引擎进行查询

 

好了,大家快去试一下吧!


大家如果有access开发或者企业内训的需要可以后台联系我们。




以上是关于ACCESS中如何让表关联的主要内容,如果未能解决你的问题,请参考以下文章

在access查询设计中,啥情况下要把查询的两个表关联起来

两个EXCEL表格,怎么让数据配对,以型号作为关联

如何实现多表关联查询

office2007里的access数据库,怎么对2张表进行关联查询啊

SQL 表中如何让某条记录的某个属性值与另一个表中的某条记录的某个属性值相关联

急急急!access 数据库对两个表关联count