我有这样一个客户表access的
 
人名(name)     城市(city)
   李是         上海
   王武         北京 
   刘二         上海
   周其         深圳
   朱山         武汉
    .            .
    .            .
    .            .内容简单列出一些,经常会有新的客户加进去,我希望在一个listbox,里列出我表里有的城市,然后我双击城市名,出现这个城市里的所有客户,怎么做。谢谢

解决方案 »

  1.   

    两条select语句+另外一个写人名等的控件(建议用Grid)
    1. select distinct 城市 from yourtab
    2. select 人名,... from yourtab where 城市='你所选择的城市名'
      

  2.   

    ' 简单举了一个例子,很简陋。
    ' 假设数据库是c:\123.mdb,表名为client,两个字段分别为name和city。
    ' 在IDE环境的菜单中选择工程--引用--选中Microsoft ActiveX Data Objects 2.7 Library
    ' 在窗体添加两个ListBox,复制下面的代码即可。
    ' 启动后List1中会列出城市名(city),单击List1会在List2中列出选中城市的所有客户Option Explicit
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Form_Load()
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\123.mdb;Persist Security Info=False"
        cn.Open
        Set rs = cn.Execute("select distinct city from client")
        rs.MoveFirst
        Do Until rs.EOF
            List1.AddItem rs("city").Value
            rs.MoveNext
        Loop
    End SubPrivate Sub List1_Click()
        List2.Clear
        Set rs = cn.Execute("select name from client where city='" & List1.Text & "'")
        rs.MoveFirst
        Do Until rs.EOF
            List2.AddItem rs("name").Value
            rs.MoveNext
        Loop
    End Sub
      

  3.   

    楼上写的已经很明白了,其实就是两个sql查询语句的使用
    用 select distinct 城市 from yourtab查出所有的城市名写入list中,
    然后在list的单击事件里用
    select 人名 from yourtab where 城市='" & list1.text & "'"查出当前城市的人
      

  4.   

    第二条SQL语句建议改用filter处理,如果客户数量不是很多的话。