VBA两表之间求excel关联表格数据

Access俱乐部
Access入门经典视频《运用Access实现降本增效》(免费)[] | 免费《Access五节必修课》[]
?&&&&?&&&&?&&&&?&&&&
您的位置:  > >
【Access文章】表之间如何建立关系
来源:&&点击数:24688&&评论数:1 &|&&|&
时 间: 08:16:05
作 者:&&&ID:24010&&城市:江阴
摘 要:这一篇文章我们来讲一下表关系是如何建立的
如何定义一对多或一对一关系
&要创建一对多或一对一关系,请按照下列步骤操作: 1.关闭已打开的所有表。无法创建或修改打开的表之间的关系。
2.在Access 2003 中,按照下列步骤操作:a.在“工具”菜单上,单击“关系”。
在 Access 2007 中(2010与之类似,这里我就不提了),单击“数据库工具”选项卡上的“显示/隐藏”组中的“关系”。
3.如果尚未在数据库中定义任何关系,则“显示表”对话框自动显示。如果要添加想要相关的表,但“显示表”对话框未显示,请单击“关系”菜单上的“显示表”。
2003操作如下:
操作如下:
4.双击想要相关的表的名称,然后关闭“显示表”对话框。要在表与其自身之间创建关系,请将该表添加两次。
5.将想要相关的字段从一个表中拖至另一个表中的相关字段。要拖动多个字段,请按住 Ctrl 并单击每个字段,然后拖动它们。
&大多数情况下,您将主键字段(以粗体文本显示)从一个表中拖至另一个表中称为外键的类似字段(通常具有相同名称)。
6.“编辑关系”对话框将出现。确保显示在两列中的字段名称是正确的。必要时可以更改它们。
&如果需要,可以设置关系选项。如果需要有关“编辑关系”对话框中的某个特定项的信息,请单击问号按钮,然后单击该项。这些选项将在本文的后面部分详细介绍。
7.单击“创建”创建关系。(在2003里是确定)
8.对想要相关的每一对表重复步骤 5 到步骤 8。
2003操作界面如下:
操作界面:
&关闭“编辑关系”对话框时,Microsoft Access 将询问您是否要保存布局。不管是否保存布局,您创建的关系都会保存在数据库中。
注意:可以在查询以及表中创建关系。然而,引用完整性对查询不是强制执行的。
如何定义多对多关系
&要创建多对多关系,请按照下列步骤操作: 1.创建两个将具有多对多关系的表。
2.创建称为联接表的第三个表,然后向联接表中添加与其他两个表中的每个表内的主键字段具有相同定义的新字段。在联接表内,主键字段作为外键。与其他任何表一样,您可以向联接表中添加其他字段。
3.在联接表中,设置主键以包括其他两个表中的主键字段。例如,在联接表“书籍作者”中,主键将由“订单 ID”和“产品 ID”字段组成。
注意:要创建一个主键,请按照下列步骤操作: a.在“设计”视图中打开一个表。
b.选择要定义为主键的一个或多个字段。要选择一个字段,请单击所需字段的行选择器。
&要选择多个字段,请按住 Ctrl 键,然后单击每个字段的行选择器。
c.在 Access 2003 中,单击工具栏上的“主键”。
在 Access 2007 中,单击“设计”选项卡上“工具”组中的“主键”。
注意:如果希望多字段主键中字段的顺序与表中这些字段的顺序不同,请单击工具栏上的“索引”以显示“索引”对话框,然后对名为 PrimaryKey 的索引的字段名称重新排序。
2003操作界面
操作界面:
4.在两个主表中的每一个主表与联接表之间定义一个一对多关系。
引用完整性
&引用完整性是一套规则,Microsoft Access 使用它确保相关表中的记录之间的关系有效,并保证您不会无意间删除或更改相关的数据。当符合下列所有条件时,您可以设置引用完整性: •主表中的匹配字段是主键或者具有唯一索引。
•相关字段具有相同数据类型。但有两种例外情况。自动编号字段可以和 FieldSize 属性设置为长整型的数字字段相关,并且 FieldSize 属性设置为 Replication ID 的自动编号字段可以和 FieldSize 属性设置为 Replication ID 的数字字段相关。
•两个表属于同一 Microsoft Access 数据库。如果表是链接表,则它们必须为 Microsoft Access 格式,并且您必须打开存储表的数据库以便设置引用完整性。无法为其他格式的数据库中的链接表强制执行引用完整性。
当您使用引用完整性时,以下规则适用:
•不可以在主表的主键中不存在的相关表外键字段中输入值。不过,您可以在外键中输入一个 Null 值以指定这些记录不相关。例如,不能有一个分配给不存在客户的订单,但是通过在“客户 ID”字段中输入一个 Null 值可以有未分配给任何人的订单。
•如果一个记录在相关的表中存在匹配的记录,则不能够从主表中删除该记录。例如,如果在“订单”表中有分配给某个员工的订单,则您不能够从“员工”表中删除该员工记录。
•如果一个记录有相关的记录,则您不能在主表中更改其主键值。例如,如果在“订单”表中有分配给某一员工的订单,则您不能够在“员工”表中更改此员工的 ID。
级联更新和删除
&对于强制执行了引用完整性的关系,您可以指定是否希望 Microsoft Access 自动级联更新或级联删除相关的记录。如果设置了这些选项,则通常由引用完整性规则阻止的删除和更新操作将能够进行。当您在主表中删除记录或更改主键值时,Microsoft Access 将对相关表进行必要的更改以保持引用完整性。
&如果您在定义关系时单击选中了“级联更新相关字段”复选框,则每当您更改主表中记录的主键时,Microsoft Access 就会自动将所有相关记录中的主键值更新为新值。例如,如果您更改“客户”表中的客户 ID,则“订单”表中该客户的每一个订单的“客户 ID”字段都会自动更新,这样就不会破坏关系。Microsoft Access 执行级联更新时不显示任何消息。
注意:如果主表中的主键是一个自动编号字段,则选中“级联更新相关字段”复选框将不起作用,因为不能更改自动编号字段中的值。
&如果您在定义关系时选中了“级联删除相关记录”复选框,则每当您删除主表中的记录时,Microsoft Access 就会自动删除相关表中的相关记录。例如,如果您从“客户”表中删除一个客户记录,则该客户的所有订单会自动从“订单”表(包括与“订单”记录相关的“订单明细”表中的记录)中删除。当您在选中“级联删除相关记录”复选框的情况下从窗体或数据表中删除记录时,Microsoft Access 会警告您相关记录也可能会被删除。然而,当您使用删除查询删除记录时,Microsoft Access 将自动删除相关表中的记录而不显示警告。
&有三种联接类型,如下所示:
选项 1 定义一个内部联接。内部联接是一种联接,其中仅当联接字段中的值满足指定条件时才将两个表中的记录合并到查询结果中。在查询中,默认联接是内部联接,仅当联接字段中的值匹配时该内部联接才选择记录。
选项 2 定义一个左外部联接。左外部联接是一种联接,其中查询的 SQL 语句中 LEFT JOIN 操作左侧的所有记录被添加到查询结果中,即使右侧表中联接字段内没有匹配值也会如此。
选项 3 定义一个右外部联接。右外部联接是一种联接,其中查询的 SQL 语句中 RIGHT JOIN 操作右侧的所有记录被添加到查询结果中,即使左侧表中联接字段内没有匹配值也会如此。
Access软件网官方交流QQ群 (群号:)
      
&&&&【&&】&&&&【&&】&&&&【&&】&&&&【&&】&&&&【&&】
Access网店
价格:¥50 元
价格:¥50 元
价格:¥100 元
(01-04 09:42)
(01-03 16:30)
(01-03 16:09)
(01-03 11:32)
(01-03 09:25)
(01-01 22:34)
(12-31 12:10)
(12-31 10:08)
(12-30 20:43)
(12-30 15:06)
Access软件网 版权所有 CopyRight
提供支持 本站特聘法律顾问: 李慧 律师查看: 2127|回复: 7
关于excel两个表之间的关联
阅读权限20
在线时间 小时
在 sheet1中随便选中哪个框框,相应的在sheet2中也选中那个框框.
例如:我在sheet1中选中 C5那么相应的在sheet2中就自动选中C5。Excel中要做到这样要以用超链接实现,可是我的Excel表数据多这样做很麻烦。不知道哪位高手可以帮我一个弄个公式。谢谢了!
我的是一个电话权限表,
表1中是电话号码,表2中是各个电话号码相对应的权限。
11.jpg (38.46 KB, 下载次数: 4)
23:41 上传
阅读权限50
在线时间 小时
不明白你到底是要Activate的效果,还是要Select的效果!
也不明白你是要
先& &Sheets(&权限&).Activate
然后 Sheets(&权限&).Range(&XX单元格&).Activate
还是就要个
Sheets(&权限&).Range(&XX单元格&).Activate
阅读权限150
在线时间 小时
建议楼主压缩上传Excel问题附件并加以说明或做出模拟结果,以便大家了解和解答。(编辑已发贴即可补充上传附件)
如何发表新话题和上传附件:
发帖的技巧:
阅读权限30
在线时间 小时
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
& & Application.ScreenUpdating = False
& & st = Target.Address
& & Application.Goto Reference:=Worksheets(&权限&).Range(st)
& & Worksheets(&电话号码&).Select
23:57 上传
点击文件名下载附件
6.39 KB, 下载次数: 53
阅读权限20
在线时间 小时
Worksheets(&电话号码&).Select
去掉这一行吧, 不然一闪就过了,什么都看不到效果
阅读权限20
在线时间 小时
excel 关联
非常感谢4楼和5楼,我已经按照你们给的方法成功的实现了我想要的效果。
阅读权限20
在线时间 小时
& & & & & & & &
学习中{:soso_e177:}{:soso_e178:}{:soso_e179:}
阅读权限10
在线时间 小时
{:soso_e153:}看不明
最新热点 /1
只要3分钟,完成微软安卓版Office体验问卷,微软官方定制好礼就送到你面前:证书、卫衣、电脑内胆包等,好礼多,中奖几率高,极具纪念意义!
嘘,一般人,我不告诉他。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师本版禁止发布广告。发贴时请填写明确的标题内容。违反规定一律删除。
1 / 385 页
- [阅读权限 10]
前天&15:58
昨天&18:01
- [售价 1 个明经币]
1 / 385 页
& 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
Powered byvba窗体添加表格:VBA实现一个窗体输出到两个表格我想设计了-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
vba窗体添加表格:VBA实现一个窗体输出到两个表格我想设计了
来源:互联网 更新时间: 14:48:09 责任编辑:王亮字体:
摘要:VBA实现一个窗体输出到两个表格我想设计了一个excel表(A),在表里直接分布所有输入内容用的控件(没有... Vba能做到这些,很容易,找我吧,Q525...
网友:请用VBA完成这个表格,谢谢. 请用VBA完成这个表格,谢谢.回复:Sub analyzing()lastcolumn=[iv3].End(xlToLeft).Column-2 For i= To lastcolumn '做最后分析的数据 Columns(i).ColumnWidth=.4 Cells(lastrow+1,i)=Cells(2,i...网友:excel 表格vba问题 Private Sub Worksheet_Change(ByVal Target As Range)If Target.Count&1 Then ...回复:问题描述不清,高手们都懒得理你,呵呵 网友:再问个有关Excel VBA窗体的问题 打开一个 窗体在页面自动出现的位置可调吗?如我想让窗体自动出现在左上角...回复:样本按你的三个要求设置 当然窗体中目前没有什么内容 附件:窗体问题 网友:Excel VBA查找与引用窗体 问题详见附件回复:具体的使用方法也就是你说明的那样,"付款书.xls"一定要按你现在说的,放在"E:付款书"目录下,且要放在"供应商"表内.只有这样才能... 网友:VBA窗体导入 VBA窗体导入错,如何解决?回复:首先感谢你对我的信任,我已经在了为你解释了,另外还有 If h& Then.ColumnHeaders.Add,ar(h),.Width*a(h),lvwColumnCenter '第二列开始居中 Else.... 网友:VBA窗体问题 我想建立个窗体(如附件),窗体里有三个按钮,分别点击进入表1、表2、表3,当...回复:已完成,详见附件 附件:登录返回 网友:关于excel表格中用VBA写两个表格关联语句 CELLS(1,5)=D:My Documents[1.xlsx]Sheet1'!A$2 我想让表格的第一行第五列和...回复:CELLS(1,5)=Application.ExecuteExcel4Macro("D:My Documents[1.xlsx]Sheet1'!r2c1")
网友:我想在VBA窗体中创建一个类似表格(excel)表格中的类型与... 我修改窗体表格内的数据,EXCEL里面的数据也跟着改变。我用了textbox,listview,...回复:要有表格控件才行,VB6.当中有这样的控件支持,可以在窗体中添加OLE对象类型为Excel表格。网友:VBA 实现一个窗体输出到两个表格 我想设计了一个excel表(A),在表里直接分布所有输入内容用的控件(没有...回复:Vba能做到这些,很容易,找我吧,Q525 网友:excel vba中添加了窗体Userform,怎样在excel表格环境中调出_... 如题,我想在excel表格中添加一个按钮,然后按一下窗体就显示出来,码怎样的呢...回复:Private Sub mandButton1_Click()UserForm1.Show End Sub 网友:VBA怎么添加窗体 回复:在表窗口中 菜单-&工具-&宏-&Visual Basic 器(或者按快捷键Alt+F11)会 打开VBA器 在VBA器窗口中 菜单-&入-&窗体 会入一个窗体 然后... 网友:如何ACCESS窗体VBA添加新 有一表名称:"成绩单表"里面有一个字段"备注"窗体如下图:那些文本框都是未...回复:前提:窗体的 允、允添加 属性设为 是 Private Sub 保存_Click()'录入完整性 If Me.文本框1=""Or Me.文本框2=""Or Or Me.文本框3=""Or Me.文本框4="... 网友:VBA中如何一次性清空窗体数据和添加表格当中的数据 我用VBA设置窗体向EXCEL表格当中添加数据,当数据添加成功后,如何用“清除“键...回复:看来你写VBA没问题,我就不多说基本作了。要实现你的要求。你只需要给那个“清除”键的Click写一段码,要清除Excel表中的数据只需要一句:activesheet.... 网友:excel vba 用码在窗体中添加控件 在excel 2中,希望在窗体初始化时,表格框架,并在窗体的指置上添加...回复:Private Sub Form_Load()HScroll1.Max=2 '最大值 HScroll1.Min= '最小值 HScroll1.Value=1 '初始滚动值 HScroll1.LargeChange=1 '大改变 HScroll1....
07-1206-3006-3006-3001-1501-15
相关文章:
上一篇文章:下一篇文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 excel关联表格数据 的文章

 

随机推荐