各位师兄:
以下是我的数据结构:
id tid 合同编号 公司型号 客户型号
1 0 2004
2 1 ro-001 bk-as1
3 1 ro-002 bk-as2
4 0 2005
5 4 ro-004 bk-as4
我想用两个ComboBox的控件 , combo1与数据库连接, 自动显示合同编号, 即是当用户
选择combo1合同编号2004,combo2就自动显示出ro-001和ro-002,让用户选择.
(注:关联结构是id,tid)
请给点帮助,意见,代码,不甚感激!!!在线等
以下是我的数据结构:
id tid 合同编号 公司型号 客户型号
1 0 2004
2 1 ro-001 bk-as1
3 1 ro-002 bk-as2
4 0 2005
5 4 ro-004 bk-as4
我想用两个ComboBox的控件 , combo1与数据库连接, 自动显示合同编号, 即是当用户
选择combo1合同编号2004,combo2就自动显示出ro-001和ro-002,让用户选择.
(注:关联结构是id,tid)
请给点帮助,意见,代码,不甚感激!!!在线等
if combo1.text="2004" then
combo2.text="ro-001"
endif
combo2.clear
combo2.additem "ro-001"
combo2.additem "ro-002"
end if
dim conn as adodb.connection
dim rec as adodb.recordset
......'省略用ADO连接数据库代码set rec=new adodb.recordset
rec.open "select * from table1",conn,1,1
set datacombo1.rowsource=rec
datacombo1.listfield="列1"在Datacombo1的Click事件中添加
dim rs adodb.recordset
set rs=new adodb.recordset
rs.open "select * from table2 where 列1='"& datacombo1.text &"'",conn,1,1
set datacombo2.rowsource=rs
datacombo2.listfield="列2"差不多就是这样了,现写的可能有些错误,但方法没问题
有点头绪,谢谢你的回复,但能否单纯用ComboBox的属性以及利用from的载入来控制数据库的关联???
rec.open "select * from table1",conn,1,1combo1.clearwhile not rec.eof
combo1.additem rec.fields("列1")
rec.movenext
wend在Combo1的Click事件中添加combo2.cleardim rs as adodb.recordset
set rs=new adodb.recordset
rs.open "select * from table2 where 列1='"& combo1.text &"'",conn,1,1
while not rs.eof
combo2.additem rs.fields("列2")
rs.movenext
wend这种方法不如上一种方法简单,执行效率上也不如
Dim myBook As Variant
Dim txtSQL As String
Dim Msgtext As StringPrivate Sub ComboSJ_Click()
ComboSB.Clear
Flagselect = False
txtSQL = "select distinct (赛别) from 比赛信息表 where 赛季='" & Trim(ComboSJ.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
While (mrc.EOF = False)
ComboSB.AddItem mrc!赛别
mrc.MoveNext
Wend
mrc.Close
End SubPrivate Sub ComboZD_Click()
ComboKD.Clear
Flagselect = False
txtSQL = "select distinct (客队) from 比赛信息表 where 赛季='" & Trim(ComboSJ.Text) & "' and 赛别='" & Trim(ComboSB.Text) & "' and 主队='" & Trim(ComboZD.Text) & "' order by 客队"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
While (mrc.EOF = False)
ComboKD.AddItem mrc!客队
mrc.MoveNext
Wend
mrc.Close
End Sub
Private Sub ComboKD_Click()
Flagselect = False
txtSQL = "select * from 比赛信息表 where 赛季='" & Trim(ComboSJ.Text) & "' and 赛别='" & Trim(ComboSB.Text) & "' and 客队='" & Trim(ComboKD.Text) & "'and 主队='" & Trim(ComboZD.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
If mrc.EOF = True Then
MsgBox "比赛信息表中没有此场比赛的比赛信息,请添加!", vbOKOnly + vbExclamation, "警告"
Else
first.Enabled = True
last.Enabled = True
preview.Enabled = True
nextcmd.Enabled = True
modify.Enabled = True
delete.Enabled = True
mrc.MoveFirst
Call viewData
myBook = mrc.Book
End If
End Sub你可以参照一下