- ベストアンサー
条件つきの計算とデータベース接続に関する質問
- Access2003 VB6を使用して、コンボボックスから選択された値を基にデータベースから値を取得し、計算する方法を教えてください。
- コンボボックス1で学年を、コンボボックス2でクラスを選択した時、テーブル内の該当するデータの人数を計算するSQL文と、その人数の成績を合計する方法について教えてください。
- データベースに接続し、コンボボックスの値に基づいてデータを取得する方法について詳しく教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
LblNumbers.Caption = RECO.Fields("Numbers") ↓これでどうでしょう if not reco.eof then LblNumbers.Caption = RECO.Fields("Numbers").value end if 若しくは if not reco.eof then LblNumbers.Caption = RECO!Numbers end if あるいは if not reco.eof then LblNumbers.Caption = RECO(2) end if
その他の回答 (1)
- kazu1973
- ベストアンサー率40% (14/35)
SQL文です。 ・人数計算 Select Year,Class,COUNT(*) From SCHOOL WHERE Year = '" & Cbx1.Text & "' AND Class= '" & Cbx2.Text & "' GROUP BY Year,Class" ・合計計算 Select Year,Class,SUM(成績1),SUM(成績2),SUM(成績3) From SCHOOL WHERE Year = '" & Cbx1.Text & "' AND Class= '" & Cbx2.Text & "' GROUP BY Year,Class" 上記でいけるはずです。 因みに合計計算の方はNullがない物として記述しています。
補足
回答ありがとうございます。 Private Sub Cbx2_GotFocus() Set RECO = CONN.Execute("Select Year,Class,COUNT(*) as numbers From SCHOOL WHERE Year = '" & Cbx1.Text & "' AND Class= '" & Cbx2.Text & "' GROUP BY Year,Class") LblNumbers.Caption = RECO.Fields("Numbers") RECO.Close End Sub このように設定したんですが、実行したら、BOFかEOFがtureになっていると、またはレコードが削除されています。というエラーが出るんですが、原因がわからないです。。 もし知ってたら、ご教授ください。
お礼
うまく表示できました。 ありがとうございます。