プロが教えるわが家の防犯対策術!

Accessで、フォームにコンボボックスとサブフォームを作成してコンボボックスで選択したテキストをキーワードにサブフォームに選択クエリを表示させようと考えています。
コンボボックスの項目は、値集合ソースでテーブルを設定して、選択された項目は、my_Text = Me.コンボ1.Textで取得して
クエリのSQL文を変更すればいいのかなぁ?って想像しています。
でも、サブフォームに設定したクエリのSQL文の変更の仕方が解りません。どなたか?詳しい方いらっしゃいましたら教えて頂けないでしょうか?宜しくお願い致します。

A 回答 (2件)

サブフォームのFilterを設定する方が簡単だと思います。



例:

Private Sub コンボ0_AfterUpdate()
 If "" & Me.コンボ0 = "" Then
  Me.埋め込み0.Form.FilterOn = False
 Else
  Me.埋め込み0.Form.Filter = "F2 = " & Me.コンボ0
  Me.埋め込み0.Form.FilterOn = True
 End If
End Sub
    • good
    • 0

#1です。

よく考えたら、Filterで設定出来るのは、WHERE句に限られていますので、#1の方法は万能ではないですね。

別の方法として、RecordSourceに直接SQLをいれるやり方です。

例:

Private Sub コンボ0_AfterUpdate()
 If "" & Me.コンボ0 = "" Then
  Me.埋め込み0.Form.RecordSource = "SELECT * FROM T1"
 Else
  Me.埋め込み0.Form.RecordSource = "SELECT * FROM T1 WHERE F2 = " & Me.コンボ0
 End If
End Sub
    • good
    • 0

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