プロが教える店舗&オフィスのセキュリティ対策術

環境:Access2003 VB6.0
2つのコンボボックス関連させたいが、やり方がよくわからないです。
たとえばSCHOOLというテーブルに1YearとClassのフィールドがあります。そこで、YearのコンボボックスでYearフィールドの値を選択して、Classのコンボボックスに選択された値に対する値をセットしたいです。 例(1年と選択して、2個目のコンボボックスにA、B、C、Dとセットしたいです。
初心者で、説明がわかりにくいかもしれないですが、よろしくお願いします。
以下データベースの接続設定

Dim m_formlording As Integer
Dim CONN As ADODB.Connection
'レコードセット
Dim RECO As ADODB.Recordset

Private Sub ConnOpen()
Set CONN = New ADODB.Connection
'接続文字列の設定
CONN.ConnectionString = "provider=Microsoft.jet.oledb.4.0;" _& "data source=D:\DB\dbstudent.mdb"
'コネクションをオープン
CONN.Open
End Sub

Private Sub RecoSet()
Set RECO = CONN.Execute("Select * From SCHOOL")
End Sub
詳しい方、ご教授ください。

A 回答 (1件)

コンボ1を選択後、


再度SQLを発行し
コンボ2に対するItemを追加すれば出来ると思いますよ。
↓こんな感じです。
private sub Combo1_Lostfocus()
'コンボ2を設定
  Set RECO = CONN.Execute("Select Class From SCHOOL WHERE Year =" & 'コンボ1')
reco.movefirst
do until reco.eof
コンボ2.additem(reco(0))
reco.movenext
loop
end sub

この回答への補足

回答ありがとうございます。
おしゃったとおりにやったんですが、
Set RECO = CONN.Execute("Select Class From SCHOOL WHERE Year =" & 'コンボ1')のところでデバッグエラーがでました。

補足日時:2007/06/19 17:41
    • good
    • 0
この回答へのお礼

Set RECO = CONN.Execute("Select Distinct Class From SCHOOL WHERE Year = '" & Cbx1.Text & "'")
に書き換えたら、うまくいけました。
ありがとうございました。

お礼日時:2007/06/19 20:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!