设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 8129|回复: 9

[其它] 如何在Access中创建多级联动下拉列表

[复制链接]
发表于 2006-9-6 21:11:00 | 显示全部楼层 |阅读模式
在google中找到本坛,如获至宝。

请各位高手指导,在线等,非常感谢!

我想做一个数据库,用来管理资料。但是想做二级分类,然后在输入/查询表中有二个下拉列表选择组合框。

我希望第二个框根据第一框的选择来改变内容。就像选择了不同的国家,再选不同的城市一样的效果。

对于一级分类和二级分类,我分别做了一个表,一级分类可能在Access里面通过“查阅向导”的功能实现。二级分类该如何实现呢?

请高手指导我怎么做。本人初学新手,还请详细指点。谢谢!
发表于 2006-9-6 21:18:00 | 显示全部楼层
又是vba编程,很好学吗
 楼主| 发表于 2006-9-6 21:26:00 | 显示全部楼层
我刚刚初步研究了一下,没有找到相关的,找到一个相关的,也不知道如何用。有人给了个程序,我不太明白。

Private Sub Form_Load()

  Dim str1 As String

  ‘建立连接串

  conn$="UID=caiwuWD=67786787;DATABASE=cwxxk; SERVER=NWIEEIC;DRIVER={SQL SERVER};DSN=‘‘;"

  en.rdoEnvironments(0).CursorDriver = rdUseServer

  ‘建立连接

  Set cn = en.rdoEnvironments(0).OpenConnection("", rdDriverNoPrompt, False, conn$)

  ‘从单位名称表中取部门编号,并创建一级部门列表

  Set rs = cn.OpenResultset("select dwbh,dwmc from dwmcb")

  Do While Not rs.EOF

  List1.AddItem rs("dwbh")

  rs.MoveNext

  Loop

  rs.Close

  End Sub

  ‘创建一级列表的点击事件

  Private Sub List1_Click()

  gdwbh = List1.Text

  ‘调用产生二级列表的程序

  getbmry List1.Text

  End Sub

  ‘产生二级列表

  Sub getbmry(strbm As String)

  Dim ssql As String

  ‘从rymdb中筛选出一级列表中选中的单位中的人员姓名,用于创建二级列表

  ssql = "select zgxm from gzmxk3 where dwbh=" && "‘" && strbm && "‘;"

  Set rs = cn.OpenResultset(ssql, rdOpenKeyset)

  List2.Clear

  Do While Not rs.EOF

  List2.AddItem rs("zgxm")

  rs.MoveNext

  Loop

  rs.Close

  End Sub
发表于 2006-9-6 22:38:00 | 显示全部楼层
晕了,这些代码与我无缘,我怎么就是看不懂
 楼主| 发表于 2006-9-6 22:42:00 | 显示全部楼层
是啊,我也觉得乱。请高手指导在Access中该如何操作。该写什么代码?
发表于 2006-9-7 07:17:00 | 显示全部楼层
用不了这么复杂的语句,请用关键字"组合框"搜索一下旧贴,例子很多,这是其中一个

http://www.office-cn.net/vvb/dispbbs.asp?BoardID=2&replyID=178369&id=35634&skin=0
发表于 2006-9-8 22:34:00 | 显示全部楼层
用带过滤的查询极易实现,本坛上发的例子中就有
发表于 2012-4-11 14:40:39 | 显示全部楼层
同样新手求教。请致电
发表于 2016-6-13 17:12:35 | 显示全部楼层
故事梗概嘎嘎嘎刚刚规范
发表于 2020-9-4 19:00:23 | 显示全部楼层
正好用到
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 08:09 , Processed in 0.108376 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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