当前位置:编程学习 > VB >>

VB中多级下拉列表的实现

 

 

  当需要在大量记录的数据表中定位某个记录时,为了操作方便,我们通常采用多级下拉列表的实现方式。比如我们要搜寻人事处的一个叫“黎明”的个人信息,可先在单位下拉选单中定位人事处,从而下拉出人事处的人员名单列表,最终找到“黎明”的个人信息。实现步骤:

 

  取单位名称表(DWMCB)中的部门编号,产生一级下拉列表。

 

  根据操作者的选择,从人员名单表(RYMDB)中筛选出相应部门中的所有员工,创建二级下拉列表。

 

  从二级列表中,定位个人信息。

 

  程序如下:

 

   ...

 

  Private Sub Form_Load()

 

  Dim str1 As String

 

  注释:建立连接串

 

  conn$="UID=caiwu;PWD=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

 

补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,