求一实例 关于实现两个combox之间的联动.
求一实例 关于实现两个combox之间的联动.现有combox1 combox2
在combox1 选“广东” combox2里面要显示“广州”、“深圳”、“珠海”等...
在combox1 选“广西” combox2里面要显示“桂林”、“南宁”等....
请问如何实现?
Option Explicit
Private Sub Combo1_Click()
Select Case Combo1.Text
Case "A"
Combo2.ListIndex = 0
Case "B"
Combo2.ListIndex = 1
Case "C"
Combo2.ListIndex = 2
End Select
End Sub
Private Sub Form_Load()
Combo1.AddItem "A"
Combo1.AddItem "B"
Combo1.AddItem "C"
Combo2.AddItem "1"
Combo2.AddItem "2"
Combo2.AddItem "3"
End Sub
Option Explicit创建一个Access数据库,其中创建一个表格,表格内包含字段:FD_Sheng、FD_ChengShi
Private Sub Combo1_Click()
Select Case Combo1.Text
Case "广东"
Combo2.Clear '清空
Combo2.AddItem "深圳"
Combo2.AddItem "广州"
Combo2.AddItem "......"
Combo2.ListIndex = 0 '选第0项
Case "广西"
Combo2.Clear
Combo2.AddItem "南宁"
Combo2.AddItem "桂林"
Combo2.AddItem "XX"
Combo2.ListIndex = 0
End Select
End Sub
Private Sub Form_Load()
Combo1.AddItem "广东"
Combo1.AddItem "广西"
End Sub
每个城市一条记录,比如;广东就可以有:
广东 广州
广东 深圳
广东 湛江
.
.
.
在数据库创建好后,查询数据库,用查询的来的FD_Sheng记录填写Combo1,形成查询条件。当你选择Combo1中的省份时,就依据这个为查询条件查询数据库,并将查询的来的FD_ChengShi记录填写Combo2即可。 刚好我昨天做了一个,一个里面选省份,另一个里面的内容就变成了所先省份内的城市名。代码如下。
Private Sub Combo1_LostFocus()
On Error GoTo comm_err '错误处理机制
Call user_log_check '验证账号登录信息
Dim i As Integer '循环变量
Dim strSQL As String '定义SQL字符串
Dim rsSql As New ADODB.Recordset '定义数据集
If Trim(str_filter(Combo1.Text)) = "" Then
Exit Sub
Else
Combo5.Clear
strSQL = "SELECT distinct [city_name]FROM [TY_data_text].[dbo].[area_data] where provinces_name ='" & Trim(str_filter(Combo1.Text)) & "' "
rsSql.Open strSQL, AdoCn, adOpenStatic '从数据库取数据到数据集
For i = 1 To rsSql.RecordCount
Combo5.AddItem rsSql!city_name '加载市级名称
rsSql.MoveNext
Next i
rsSql.Close
End If
Exit Sub
comm_err:
End Sub
补充:VB , 控件