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属性来变通实现。
具体示例步骤如下:
我们先在SQL Server创建一个带参数的存储过程,文中的示例用的是SQL Server 2012版本。这里我们来查询对应产品的信息。
CREATE PROCEDURE SP_Product
(@ProductName AS NVARCHAR(100))
AS
SELECT *
FROM dbo.tbl_ProductList
WHERE ProductName LIKE @ProductName;
GO
a.在Access中新建一个查询,不选择任何表,然后通过点击菜单——查询——SQL 特定查询——传递查询,将查询更改为传递查询:
b.点击工具栏上的按钮,显示出查询属性窗口;
c.在查询属性窗口中,点击“ODBC 连接字符串”属性右边的生成器,通过向导设置到SQL Server的连接:
d.成功连接到SQL Server数据库后的效果如下:
这里的配置是我自己电脑上的信息,大家在测试时需要替换成自己的信息。
如何链接SQL Server数据库请查询我之前的文章:
再将该查询的中添加传递查询的代码:
execute SP_Product @ProductName='%'
创建一个窗体,创建一个用于输入查询内容的名为“查询内容”的文本框,和一个用于执行查询的名为“查询”的命名按钮,以及一个用于显示查询结果的子窗体,这里我们直接用查询对象作为子窗体的来源对象:
接下来在窗体的加载事件过程和按钮的单击事件过程中,添加代码:
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
窗体的加载事件代码用于打开窗体时查询所有记录,效果如下:
在输入框中输入要查询的值,然后单击“查询”按钮,我们就能得到由SQL Server数据库引擎查询得到的记录:
好了,大家快去试一下吧!
大家如果有access开发或者企业内训的需要可以后台联系我们。
以上是关于ACCESS中如何让表关联的主要内容,如果未能解决你的问题,请参考以下文章
office2007里的access数据库,怎么对2张表进行关联查询啊