VB 中两个combo控件怎样能一个列出数据库中的内容另一个根据上一个改变列表
我在做一个城市查询系统,界面有两个combo控件,一个选省份、一个选城市.有后台数据库,库中有省份表、城市表.我想知道怎样让combo1选省份后combo2中的城市改变到...
我在做一个城市查询系统,界面有两个combo控件,一个选省份、一个选城市.有后台数据库,库中有省份表、城市表.我想知道怎样让combo1选省份后combo2中的城市改变到与combo1相应的城市(这些省、城市在数据库里放着,要改变数据库后combo里的内容也变).
现在我有部分代码只能弄到combo1上(不是与data控件绑的)请高手指教
Private Sub Form_Activate()
Do
If Not Data1.Recordset.EOF Then
Combo1.AddItem Data1.Recordset.Fields(0)
Data1.Recordset.MoveNext
Else
Exit Do
End If
Loop
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path + "/combo.mdb"
Data1.RecordSource = "省份资料"
Combo1.Text = "请输入您要查询的省份"
End Sub
我不是专业学软件的,这是应付作业请高手帮忙,感激不尽. 展开
现在我有部分代码只能弄到combo1上(不是与data控件绑的)请高手指教
Private Sub Form_Activate()
Do
If Not Data1.Recordset.EOF Then
Combo1.AddItem Data1.Recordset.Fields(0)
Data1.Recordset.MoveNext
Else
Exit Do
End If
Loop
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path + "/combo.mdb"
Data1.RecordSource = "省份资料"
Combo1.Text = "请输入您要查询的省份"
End Sub
我不是专业学软件的,这是应付作业请高手帮忙,感激不尽. 展开
展开全部
me too
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你一个提示:
就是你建立两张表,一张是省份的表,在这张表中用两个字段,一个用于存放省份的字段,比如shengfen,另一个是索引的字段,比如SID,它是用来与另一张表(城市表做连接用的)。另一张表是城市表,也有两个字段,一个是用来存放城市用的,比如chengshi.另一个是用来和前面的省份级联用的。比如CID.举个例子:
比如在省份的表中有三条记录:1(SID),浙江省(shengfen),2(SID),湖南省(shengfen),3(SID),广东省(shengfen)
然后在城市的表中有三条记录:1(CID),杭州市(chengshi),1(CID),宁波市(chengshi),2(CID),长沙市(chengshi)
最后建立一张视图,名称为SC,用来把城市和省份通过那个SCD=CID把他连接起来。(比如在视图表中肯定会有浙江省份下面就会有杭州市和宁波市跟在下面)
然后在你代码中当你在省份的下拉列表中选种了浙江省后,然后就写代码
Private Sub shengfen(省份的函数名称)() '省份的下拉框函数
rss.Open "Select distinct shengfen(省份表中的省份字段名称) From 省份表", cn(数据库的连接名称), adOpenStatic, adLockOptimistic
While Not rss(记录名称).EOF
If rss("shengfen") <> "" Then
combo1(省份的下拉列表名称).AddItem rss("shengfen")
rss.MoveNext
然后读城市的代码:
Private Sub chengshi(省份的函数名称)() '省份的下拉框函数
rss.Open "Select distinct chengshi(视图表中的城市字段名称) From SC表 where shengfen='" & combol.Text & "'", cn(数据库的连接名称), adOpenStatic, adLockOptimistic
While Not rss(记录名称).EOF
If rss("chengshi") <> "" Then
combo2.clear(用于随着省份在变的时候,城市下拉列表也能时刻更新的方法)
combo2(城市的下拉列表名称).AddItem rss("chengshi")
rss.MoveNext
Private Sub Form_Load()
shengfen
chengshi
End Sub
至于其他一些细节的问题自己注意点就行了。上述方法应该没问题的。
就是你建立两张表,一张是省份的表,在这张表中用两个字段,一个用于存放省份的字段,比如shengfen,另一个是索引的字段,比如SID,它是用来与另一张表(城市表做连接用的)。另一张表是城市表,也有两个字段,一个是用来存放城市用的,比如chengshi.另一个是用来和前面的省份级联用的。比如CID.举个例子:
比如在省份的表中有三条记录:1(SID),浙江省(shengfen),2(SID),湖南省(shengfen),3(SID),广东省(shengfen)
然后在城市的表中有三条记录:1(CID),杭州市(chengshi),1(CID),宁波市(chengshi),2(CID),长沙市(chengshi)
最后建立一张视图,名称为SC,用来把城市和省份通过那个SCD=CID把他连接起来。(比如在视图表中肯定会有浙江省份下面就会有杭州市和宁波市跟在下面)
然后在你代码中当你在省份的下拉列表中选种了浙江省后,然后就写代码
Private Sub shengfen(省份的函数名称)() '省份的下拉框函数
rss.Open "Select distinct shengfen(省份表中的省份字段名称) From 省份表", cn(数据库的连接名称), adOpenStatic, adLockOptimistic
While Not rss(记录名称).EOF
If rss("shengfen") <> "" Then
combo1(省份的下拉列表名称).AddItem rss("shengfen")
rss.MoveNext
然后读城市的代码:
Private Sub chengshi(省份的函数名称)() '省份的下拉框函数
rss.Open "Select distinct chengshi(视图表中的城市字段名称) From SC表 where shengfen='" & combol.Text & "'", cn(数据库的连接名称), adOpenStatic, adLockOptimistic
While Not rss(记录名称).EOF
If rss("chengshi") <> "" Then
combo2.clear(用于随着省份在变的时候,城市下拉列表也能时刻更新的方法)
combo2(城市的下拉列表名称).AddItem rss("chengshi")
rss.MoveNext
Private Sub Form_Load()
shengfen
chengshi
End Sub
至于其他一些细节的问题自己注意点就行了。上述方法应该没问题的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询