设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 24906|回复: 67
打印 上一主题 下一主题

组合框使用教程(二)----组合框之间的联动

[复制链接]
跳转到指定楼层
1#
发表于 2007-8-11 10:43:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是论坛上问得最多的问题, 所以把它放在前面讲, 希望通过本教程能使你学会组合框之间的联动

1. 建立表, 在这不讲术了

2. 创建一个"乡镇村屯窗体", 新建一个就行了,如下图

3. 在窗体中加入三个组合框, 如下图



4. 打开"乡"组合框的属性表, 更改名称, 例如我将它改名为"乡名"
行来源类型设置为:表/查询
点击行来源右边的"..."按钮, 目的设置行来源


5. 加入地址表, 双击乡字段, 这样乡的行来源就设置完毕了


6. 按上面提到的方法设置村组合框的行来源, 在这里要添加二个字段, 一个是村, 另一个是乡, 在准则中写入条件:froms!窗体名!控件名
写入条件的目的是以乡组合框的值进行筛选, 这是关键!!


7. 以上面同样的方法设置屯组合框的行来源, 在这再增加屯字段, 在村字段的准则中再增加准则, 如下图


到止, 三个组合框的设置已经完毕, 但组合框还不可以联动的, 必须在各控件的更新事件写入刷新代码才能联动, 代码在下面讲述

8. 在乡组合框属性中, 点击更新后右边的"..."按钮, 写入事件过程


其更新后事件的代码如下:
Private Sub 乡名_AfterUpdate()  '更新后事件
    Me.村名.Requery  '刷新村组合框的列表数据
    Me.村名 = ""     '清空村组合框,防止数据错乱
    Me.屯名 = ""     '清空屯组合框,防止数据错乱
End Sub

9. 以同样方法打开村组合框更新后事件过程, 写入如下代码
Private Sub 村名_AfterUpdate()
    Me.屯名.Requery  '刷新屯组合框的列表数据
    Me.屯名 = ""     '清空屯组合框,防止数据错乱
End Sub

OK 现在各组合框可以联动了, 回到窗体视图就可以看到效果



以下再说一下组合框中常用的三个技巧

技巧一. 单纯上面的设置, 细心的坛友会发现, 组合框展开的列表中为什么会有很多的重复数据? 如下图


可不可以显示唯一数据呢? 答案是:可以的, 方法如下:
打开行来源设置界面, 如下图, 在空白处右击, 打开一个设置窗体


将唯一值的默认值否改为是, 如下图, 然后关闭


再回到窗体视图, 看看是不是全部的数据变成唯一值了?



技巧二. 可不可以当控件获得焦点时自动打开列表呢? 这样可以实现纯键盘操作, 不用点击箭头, 答案也是可以的

打开控件的属性, 在"获得焦点"的事件过程中写入代码, 代码如下:

Private Sub 乡名_GotFocus()  '获得焦点事件
    Me.乡名.Dropdown  '展开列表数据
End Sub

OK 再回到窗体视图, 是不是获得焦点的控件会自动打开列表? 再按一下键盘的向下键, 是否可以用键盘选择数据?


技巧三.  当组合框输入数据时, 在打开的列表中可否高亮显示对应的数据? 答案同样可以

打开控件的属性, 将"自动展开"设置为:是, 这样在组合框输入数据时, 对应最接近的数据就会高亮显示, 不信的话你自己试下就知了


这一节已讲完, 请学员自己练习一下, 看能不能实现我给你的附件功能, 一定要练习一下噢, 不然不会加深认识的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享分享 分享淘帖2 订阅订阅
2#
发表于 2007-8-11 20:06:49 | 只看该作者
我在组合框中绑定了两列,第1列为数据列,也是该组合框的值,第二列为文本列,为显示列,我的目的是通过输入,筛选第二列,来达到最终选取第一列的值到组合框,输入到一个临时表中,但现在的问题,输入后,下拉框内接近的项有时不出现高亮,输入正确的文本值,报错,可能说得不太清楚,具体请看附件,打开‘员工产量输入’窗体



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2007-8-11 20:08:30 | 只看该作者
不好意思,老传不上,却多上传,请站长,删除第一个。
4#
发表于 2007-8-13 19:19:34 | 只看该作者
谢谢一点通老师,这节教程学习啦。

点击这里给我发消息

5#
发表于 2007-8-13 21:02:38 | 只看该作者
很不错,对网友很有帮助

点击这里给我发消息

6#
发表于 2007-8-15 16:28:48 | 只看该作者
一点通老师,因您讲义上是列表框,示列中是组合框,我这儿好像使用列表框无法使用获得焦点的代码:“Dropdown ”,是不是列表框为组合框之误?
7#
 楼主| 发表于 2007-8-15 16:50:00 | 只看该作者
是的, 是笔误, 已改正
8#
发表于 2007-8-15 21:17:07 | 只看该作者
已经学习过,受益匪浅。谢谢!
9#
发表于 2007-8-17 16:09:44 | 只看该作者
不错不错,润金了
1、之前联动都是写代码,DataSourse赋值,其实可以这样简单的
2、显示唯一值还可以在查询设计视图里使用“汇总——分组”,效果一样
10#
发表于 2007-8-22 17:12:36 | 只看该作者
象一点通老师致敬。讲得很细心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-19 16:24 , Processed in 0.101682 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表