• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件つきの計算)

条件つきの計算とデータベース接続に関する質問

このQ&Aのポイント
  • Access2003 VB6を使用して、コンボボックスから選択された値を基にデータベースから値を取得し、計算する方法を教えてください。
  • コンボボックス1で学年を、コンボボックス2でクラスを選択した時、テーブル内の該当するデータの人数を計算するSQL文と、その人数の成績を合計する方法について教えてください。
  • データベースに接続し、コンボボックスの値に基づいてデータを取得する方法について詳しく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kazu1973
  • ベストアンサー率40% (14/35)
回答No.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

sinomori
質問者

お礼

うまく表示できました。 ありがとうございます。

その他の回答 (1)

  • kazu1973
  • ベストアンサー率40% (14/35)
回答No.1

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がない物として記述しています。

sinomori
質問者

補足

回答ありがとうございます。 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になっていると、またはレコードが削除されています。というエラーが出るんですが、原因がわからないです。。 もし知ってたら、ご教授ください。