我做了一個小東東不知道怎么在一個form中實作三個combo資料鏈接三個資料表;
資料庫(access2003)名:Test
combo1鏈接 第一個資料表“醫生”里面的“醫生姓名”串列;
combo2鏈接 第二個資料表“科室”里面的“所在科室”串列;
combo3鏈接 第三個資料表“診斷處置”里面的“診斷”串列;
希望打下指示,謝謝
uj5u.com熱心網友回復:
看你用的什么資料庫 ,基本上是都差不多的 ,想省事就直接 select * from 醫生表,科室表,診斷表 ,然后把讀取到的資料填入就行了
uj5u.com熱心網友回復:
鏈接的話,表單需要拖入adodc控制元件,設定adodc的資料連接屬性。把combox的datasource設定為拖入的adodc控制元件,并設定datamember、datafield等屬性
uj5u.com熱心網友回復:
用ADO,三次select ,三次回圈填寫三個combo。個人不建議使用控制元件的資料系結功能。uj5u.com熱心網友回復:
連接省略。。。Call OpenConn
SQL = "select 醫生姓名 from 醫生"
rss.Open SQL, cn, 1, 1
Do While Not rss.EOF
Combo1.AddItem rss.Fields("醫生姓名").Value
rss.MoveNext
Loop
Call CloseConn
uj5u.com熱心網友回復:
你這個實際上和省市區聯動是一個原理,而省市區聯動的代碼很容易google到。uj5u.com熱心網友回復:
Dim cn As New ADODB.Connection, Rs As New ADODB.Recordset
Private Sub Combo1_Click()
Combo2.Clear
Call CONNDB(cn) '資料庫連接略
SQLX = "Select * From 醫生 Where 所在科室='" & Combo1.Text & "'"
Rs.Open SQLX, cn, 2, 1 '醫生 與 所在科室 聯動,科室不同,下拉框中的 醫生姓名 也不同
Do While Not Rs.EOF
Combo2.AddItem = Rs!醫生姓名
Rs.MoveNext
Loop
Rs.Close
cn.Close
End Sub
Private Sub Form_Load()
Combo1.Clear
Call CONNDB(cn) '資料庫連接略
SQLX = "Select * From 科室"
Rs.Open SQLX, cn, 2, 1
Do While Not Rs.EOF
Combo1.AddItem = Rs!所在科室
Rs.MoveNext
Loop
Rs.Close
'第三個資料表“診斷處置”里面的“診斷”不清楚與醫生姓名的關系,不知道與科室有沒有關系,如果沒有關系可以:
Combo3.Clear
SQLX = "Select * From 診斷處置"
Rs.Open SQLX, cn, 2, 1
Do While Not Rs.EOF
Combo3.AddItem = Rs!診斷
Rs.MoveNext
Loop
Rs.Close
cn.Close
End Sub
uj5u.com熱心網友回復:
'本文使用3個adodc控制元件連接資料庫Private Sub Form_Load()
'連接資料庫代碼 省略
Adodc1.RecordSource = "select * from 醫生表"
Adodc1.Refresh
Do While Adodc1.Recordset.EOF = False
Combo1.AddItem Adodc1.Recordset("醫生姓名")
Adodc1.Recordset.MoveNext
Loop
Adodc2.RecordSource = "select * from 科室"
Adodc2.Refresh
Do While Adodc2.Recordset.EOF = False
Combo2.AddItem Adodc2.Recordset("所在科室")
Adodc2.Recordset.MoveNext
Loop
Adodc3.RecordSource = "select * from 診斷處置"
Adodc3.Refresh
Do While Adodc3.Recordset.EOF = False
Combo3.AddItem Adodc3.Recordset("診斷")
Adodc3.Recordset.MoveNext
Loop
End Sub
uj5u.com熱心網友回復:
好像你的這個資料表設定有問題,其實一個資料表就解決問題了,例如“醫生”資料表,包含“醫生姓名”欄位、“所在科室”欄位、“診斷”欄位。只需要一個 Combo1 一個下拉框控制元件,2個 Text1、 Text2 控制元件就可以實作。下面是代碼:
Private Sub Combo1_Click()
Text1.Text = ""
Text2.Text = ""
'連接資料庫略
Rs.Open "Select * From 醫生 Where 醫生姓名='" & Combo1.Text & "'", cnn, 2, 2
Text1.Text = Rs!所在科室
Text2.Text = Rs!診斷
Rs.Close
cnn.Close
End Sub
Private Sub Form_Load()
Combo1.Clear
'連接資料庫略
Combo1.Clear
Rs.Open "Select * From 醫生", cnn, 2, 2
Do While Not Rs.EOF
Combo1.AddItem Rs("醫生姓名")
Rs.MoveNext
Loop
Rs.Close
cnn.Close
End Sub
在存盤醫生表資料時,存盤“醫生姓名”欄位、“所在科室”欄位、“診斷”欄位的值就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/38709.html
上一篇:關于AUTOCAD選擇集問題
下一篇:這個sql咋寫?access的
