• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:access レコードソースを選択し、DoCmd.OpenFormする方法)

access レコードソースを選択し、DoCmd.OpenFormする方法

このQ&Aのポイント
  • Select Caseのフレームで、レコードソース(クエリ)を選択し、そのソースを基にDoCmd.OpenFormする方法がわかりません。
  • クエリ1,クエリ2は基になるテーブルが違いますが、フィールドは同一にしてあります。フォーム1には、対応するテキストボックスは用意してあります。
  • フォーム1のフレーム1の値に応じて、ソースを切り替えてDoCmd.OpenFormする方法について教えてください。

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

  • ベストアンサー
noname#140971
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 を使うのが一般的かと思います。 全く異なるクエリであれば、それぞれに対応したフォームを用意した方がシンプルでは・・・。

PearlJam69
質問者

お礼

ありがとうございました。 この方法は、確かに一般的ではないようですね。 質問に際し省略したのですが、条件は6個あり、また抽出したものを、 Excel出力、印刷と使用するため、この方法を取ろうと考えた次第です。

関連するQ&A