- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:access レコードソースを選択し、DoCmd.OpenFormする方法)
access レコードソースを選択し、DoCmd.OpenFormする方法
このQ&Aのポイント
- Select Caseのフレームで、レコードソース(クエリ)を選択し、そのソースを基にDoCmd.OpenFormする方法がわかりません。
- クエリ1,クエリ2は基になるテーブルが違いますが、フィールドは同一にしてあります。フォーム1には、対応するテキストボックスは用意してあります。
- フォーム1のフレーム1の値に応じて、ソースを切り替えてDoCmd.OpenFormする方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#140971
回答No.1
<1> Private Sub コマンド0_Click() DoCmd.OpenForm "フォーム1", acFormDS Forms("フォーム1").RecordSource = "クエリ" & Me.フレーム1 End Sub <2> Private Sub コマンド1_Click() DoCmd.OpenForm "フォーム1", acFormDS, , , , , "クエリ" & Me.フレーム1 End Sub ' ------------------------------------------ ' [フォーム1] ロード時にレコードソース設定 ' ------------------------------------------ Private Sub Form_Load() If Len(Me.OpenArgs & "") > 0 Then Me.RecordSource = Me.OpenArgs End If End Sub まあ、好き好きでしょうが<2>がOKのバージョンであれば<2>がお勧めです。 <補足> ただ、WhereCondition を使うのが一般的かと思います。 全く異なるクエリであれば、それぞれに対応したフォームを用意した方がシンプルでは・・・。
お礼
ありがとうございました。 この方法は、確かに一般的ではないようですね。 質問に際し省略したのですが、条件は6個あり、また抽出したものを、 Excel出力、印刷と使用するため、この方法を取ろうと考えた次第です。