Access实现组合框联动详细教程
时 间:2015-02-05 15:33:30
作 者:小小白菜 ID:37304 城市:苏州
摘 要: 今天突然想要一个新的功能,就是当第一个下拉改为人事部时第二个下拉就要出现人事部的相关明细可供选择,在excel中测试时是可以实现的但在Access中不知道该如何实现,后经群友帮忙找到了这个示例,说的非常详细,在此上传以供朋友们参考。
正 文:
在生活中不难发现组合框联动的例子,比如某一个地方,不同的省份有不同的城市。如:广东下有中山,广州,深圳,湖南下有长沙,株洲等。下面讲述一下具体的制作过程,
1. 先建立表,这里不详细说明
2. 创建一个"乡镇村屯窗体", 新建一个就行了,如下图
3. 在窗体中加入三个组合框, 如下图
4. 打开"乡"组合框的属性表, 更改名称, 例如我将它改名为"乡名"
行来源类型设置为:表/查询
点击行来源右边的"..."按钮, 目的设置行来源
5. 加入地址表, 双击乡字段, 这样乡的行来源就设置完毕了
6. 按上面提到的方法设置村组合框的行来源, 在这里要添加二个字段, 一个是村, 另一个是乡, 在准则中写入条件:froms!窗体名!控件名
写入条件的目的是以乡组合框的值进行筛选, 这是关键!!
7. 以上面同样的方法设置屯组合框的行来源, 在这再增加屯字段, 在村字段的准则中再增加准则, 如下图
到止, 三个组合框的设置已经完毕, 但组合框还不可以联动的, 必须在各控件的更新事件写入刷新代码才能联动, 代码在下面讲述
8. 在乡组合框属性中, 点击更新后右边的"..."按钮, 写入事件过程
其更新后事件的代码如下:
Private Sub 乡名_AfterUpdate() '更新后事件
Me.村名.Requery '刷新村组合框的列表数据
Me.村名 = "" '清空村组合框,防止数据错乱
Me.屯名 = "" '清空屯组合框,防止数据错乱
End Sub
9. 以同样方法打开村组合框更新后事件过程, 写入如下代码
#p#分页标题#e#Private Sub 村名_AfterUpdate()
Me.屯名.Requery '刷新屯组合框的列表数据
Me.屯名 = "" '清空屯组合框,防止数据错乱
End Sub
OK 现在各组合框可以联动了, 回到窗体视图就可以看到效果
以下再说一下组合框中常用的三个技巧
技巧一. 单纯上面的设置, 细心的坛友会发现, 组合框展开的列表中为什么会有很多的重复数据? 如下图
可不可以显示唯一数据呢? 答案是:可以的, 方法如下:
打开行来源设置界面, 如下图, 在空白处右击, 打开一个设置窗体
将唯一值的默认值否改为是, 如下图, 然后关闭
再回到窗体视图, 看看是不是全部的数据变成唯一值了?
技巧二. 可不可以当控件获得焦点时自动打开列表呢? 这样可以实现纯键盘操作, 不用点击箭头, 答案也是可以的
打开控件的属性, 在"获得焦点"的事件过程中写入代码, 代码如下:
Private Sub 乡名_GotFocus() '获得焦点事件
Me.乡名.Dropdown '展开列表数据
End Sub
OK 再回到窗体视图, 是不是获得焦点的控件会自动打开列表? 再按一下键盘的向下键, 是否可以用键盘选择数据?
技巧三. 当组合框输入数据时, 在打开的列表中可否高亮显示对应的数据? 答案同样可以
打开控件的属性, 将"自动展开"设置为:是, 这样在组合框输入数据时, 对应最接近的数据就会高亮显示, 不信的话你自己试下就知了
以上就是做法,请多练习,这样才能记得住,学得会
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- Inputbox输入密码打开查...(12.23)
- 【Access Dsum示例】...(12.16)
- Inputbox输入密码打开窗...(12.13)
- 【Access DCount示...(12.02)

学习心得
最新文章
- 用Access查询语句如何得到前3...(02.17)
- Access快速开发平台--导入导...(02.14)
- 按回车键后光标移动到下一条记录的V...(02.12)
- Access快速开发平台--要实现...(02.10)
- Access快速开发平台--让Pe...(02.08)
- 【Access Dsum示例】用D...(02.07)
- Access对子窗体的数据进行平均...(02.05)
- Access快速开发平台附件上传,...(01.18)
- 【IIF函数示例】用iif函数判断...(01.18)
- Access快速开发平台--如何获...(01.17)