ACCESS组合框联动查询.docx
- 文档编号:3729000
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:176.17KB
ACCESS组合框联动查询.docx
《ACCESS组合框联动查询.docx》由会员分享,可在线阅读,更多相关《ACCESS组合框联动查询.docx(9页珍藏版)》请在冰豆网上搜索。
ACCESS组合框联动查询
组合框之间的联动
创建一个"乡镇村屯窗体",新建一个就行了,如下图
3.在窗体中加入三个组合框,如下图
4.打开"乡"组合框的属性表,更改名称,例如我将它改名为"乡名"
行来源类型设置为:
表/查询
点击行来源右边的"..."按钮,目的设置行来源
5.加入地址表,双击乡字段,这样乡的行来源就设置完毕了
6.按上面提到的方法设置村组合框的行来源,在这里要添加二个字段,一个是村,另一个是乡,在准则中写入条件:
froms!
窗体名!
控件名
写入条件的目的是以乡组合框的值进行筛选,这是关键!
!
7.以上面同样的方法设置屯组合框的行来源,在这再增加屯字段,在村字段的准则中再增加准则,如下图
到止,三个组合框的设置已经完毕,但组合框还不可以联动的,必须在各控件的更新事件写入刷新代码才能联动,代码在下面讲述
8.在乡组合框属性中,点击更新后右边的"..."按钮,写入事件过程
其更新后事件的代码如下:
PrivateSub乡名_AfterUpdate() '更新后事件
Me.村名.Requery '刷新村组合框的列表数据
Me.村名="" '清空村组合框,防止数据错乱
Me.屯名="" '清空屯组合框,防止数据错乱
EndSub
9.以同样方法打开村组合框更新后事件过程,写入如下代码
PrivateSub村名_AfterUpdate()
Me.屯名.Requery '刷新屯组合框的列表数据
Me.屯名="" '清空屯组合框,防止数据错乱
EndSub
OK现在各组合框可以联动了,回到窗体视图就可以看到效果
以下再说一下组合框中常用的三个技巧
技巧一.单纯上面的设置,细心的坛友会发现,组合框展开的列表中为什么会有很多的重复数据?
如下图
可不可以显示唯一数据呢?
答案是:
可以的,方法如下:
打开行来源设置界面,如下图,在空白处右击,打开一个设置窗体
将唯一值的默认值否改为是,如下图,然后关闭
再回到窗体视图,看看是不是全部的数据变成唯一值了?
技巧二.可不可以当控件获得焦点时自动打开列表呢?
这样可以实现纯键盘操作,不用点击箭头,答案也是可以的
打开控件的属性,在"获得焦点"的事件过程中写入代码,代码如下:
PrivateSub乡名_GotFocus() '获得焦点事件
Me.乡名.Dropdown '展开列表数据
EndSub
OK再回到窗体视图,是不是获得焦点的控件会自动打开列表?
再按一下键盘的向下键,是否可以用键盘选择数据?
技巧三. 当组合框输入数据时,在打开的列表中可否高亮显示对应的数据?
答案同样可以
打开控件的属性,将"自动展开"设置为:
是,这样在组合框输入数据时,对应最接近的数据就会高亮显示,不信的话你自己试下就知了
这一节已讲完.
组合框使用教程(三)----组合框行来源模糊筛选上一节讲到,利用组合框与组合框之间进行数据筛选,当某一个组合框的行来源很多数据,而又不能分类再筛选时,能不能在组合框中自筛选呢?
如果可行的话相信在实际应用中有一定的用途,本节就这个问题进行探讨。
大家都知道,组合框的行来源可以写入条件的,也可以写入模糊查询条件,如下图
这个语句说明当组合框没有数据时,行来源全部列出数据,而当组合框有数据时,模糊显示相关数据
条件有了,当组合框输入字符时必须刷新行来源才能模糊显示相关数据,但单纯在组合框的“更改”事件中写入刷新语句,系统会弹出错误提示,原因是组合框还没有保存数据,这样是不能刷新的,能不能先保存数据,然后再刷新组合框的行来源呢?
本课程关键就是这一点。
一个窗体正常情况下是不会只有一个控件的,这样就给我们解决问题提供了便利,我们在组合框的“更改”事件中写入代码,先将焦点移到别的控件上,然后将组合框进行刷新,最后再将点返回到组合框上,这样就解决了先保存数据,然后再刷新组合框的行来源的问题了,代码如下:
PrivateSub生产单位_Change() '组合框的更改后事件
Me.列表142.SetFocus '先将焦点移到别的控件上
Me.生产单位.Requery '更新组合框的源数据
Me.生产单位.SetFocus '然后再将焦点返回到原组合框
IfNz(生产单位)<>""ThenMe.生产单位.SelStart=Len(Me.生产单位)'如果组合框有数据时将焦点移到字符的后面
Me.生产单位.Dropdown '展开组合框的列表数据
EndSub
这里有一句代码
IfNz(生产单位)<>""ThenMe.生产单位.SelStart=Len(Me.生产单位)'如果组合框有数据时将焦点移到字符的后面
焦点返回到组合框后,将焦点移到字符的最后面,没有这句的话,以前输入的数据变成修改状态,这是我们不想看到的结果,从而使人感觉可以连续地输入数据
最后还要进行一个设置,将默认的限于列表"是"改为"否",不然当字段中的第一个字符相同时会直接显示第一行的数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACCESS 组合 联动 查询