2017-10-20 11 views
1

の値に基づいて、サブフォームになる私は、Microsoft Accessアプリケーションに動的に表示テーブルは、コンボボックス

を形成していて、その形で、私は2コンボボックス、クエリ名

を表示する日付と1を表示するものを持っています

はまた、私は、ユーザーがコンボボックスに私が達成しようとしているものの

例を選択した内容に基づいて、私は動的にテーブルを表示したいサブフォームを持っています

これを行う最適な方法は何でしょうか?

は、私はあなたがサブフォームとして、テーブルを使用することができると信じていないが、私はテーブルに基づいてサブデータシートを使用して、この種のものにすべての時間を行うあなた

+0

フィールド名がレコードソース内で変更され、サブフォームコントロールのソースがレコードセットと一致しないため、動作しないと思われます。 – Minty

答えて

1

ありがとうございます。次のことを試してみてください。

  1. メインフォームの読み込みイベントでは、= MySubForm.SourceObjectを設定することで、サブフォームをクリア「」
  2. にMySubform.Sourceobject等しく設定ComboQueriesコンボボックスのAfter_Updateイベントでは、正しいサブデータシート。
  3. サブデータシートの.RecordSourceをコンボボックスから構築されたSQL文字列に設定します。

ここでそれがどのように見えるか大体です:また、あなたのテーブルのフィールド名などの「DATE」として予約キーワードを使用しないようにしよう

Private Sub Form_Load() 
    Me.MySubForm.SourceObject = "" 
End Sub 

Private Sub ComboQueries_AfterUpdate() 

    Dim sql As String 

    Me.MySubForm.SourceObject = Me.ComboQueries.Column(1) 

    sql = "SELECT * FROM " & Me.ComboQueries.Column(0) & " WHERE Date = " & Me.Combo2.Value 

    Me.MySubForm.Form.RowSource = sql 


End Sub 

、それは後で不要な頭痛を作成するための確実な方法ですに。

+0

私はキーワードdateを使用しなかった、私はちょうど私の問題を説明するためにそれを使用しました。ありがとうございます – user3752718

+0

喜んで助けてください。私はこのことを素早くメモリから覚えましたので、不明な点がある場合やコメントがうまくいかない場合は、お気軽にコメントしてください。 – DataWriter

関連する問題