Select Caseのフレームで、レコードソース(クエリ)を選択し、
そのソースを基にDoCmd.OpenFormする方法がわかりません。
よろしくお願いします。
----------------------------------------------------
Dim strSource As String
Dim Q1, Q2 As String
Dim stDocName As String
Dim フォーム1 As Form
stDocName = "フォーム1"
Q1 = "クエリ1"
Q2 = "クエリ2"
Select Case フレーム1
Case 1
strSource = Q1
Case 2
strSource = Q2
End Select
'stDocName.RecordSource = strSource '-----この文はこの位置でよいのでしょうか?
DoCmd.OpenForm stDocName, acFormDS
----------------------------------------------------
クエリ1,クエリ2は基になるテーブルが違いますが、フィールドは同一にしてあります。
ですのでフォーム1には、対応するテキストボックスは用意してあります。
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出力、印刷と使用するため、この方法を取ろうと考えた次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Excel(エクセル) エクセルVBA Msgboxでの変数の活用 4 2023/07/23 08:33
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Access サブフォームでの選択行の取得
その他(データベース)
-
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
Access フォーム上でのテキストボックスとテーブルの連結
Access(アクセス)
-
-
4
フォームで入力しても反映されない
Access(アクセス)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
7
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
8
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
9
ACCESSでタイトルバーを非表示にする方法
Access(アクセス)
-
10
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
11
Access クエリの結果が0件だった場合、エラーを表示させる方法
Access(アクセス)
-
12
アクセスで月単位の抽出
Access(アクセス)
-
13
Accessでのレコード存在チェック
その他(データベース)
-
14
ADOでRecordsetオブジェクトをレコードソースに設定したい
その他(データベース)
-
15
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
16
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
17
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
18
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
19
AccessでIDを入力したら他の項目も自動で表示
Access(アクセス)
-
20
エラー内容が分かりません
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
accessの自動更新処理をできな...
-
アクセスのフォームのビューが...
-
「メソッドまたはデータメンバ...
-
ACCESSで入力フォームをHTMLフ...
-
Accessのフォーム画面について
-
アクセス:フォームを閉じずに...
-
アクセスでの項目追加について...
-
選択したチェックボックスのみ...
-
アクセス 0以外をカウントす...
-
access レコードソースを選択...
-
Access2000で起動時にフォーム...
-
Accessのフォーム上にレコード...
-
ADOでRecordsetオブジェクトを...
-
オートシェイプのような作図入...
-
Accessフォームのテキストボッ...
-
入力途中の入力した値をすべて...
-
フォーム上のレコード数表示が...
-
他フォームのチェックボックス...
-
アクセス非連結フォームのテキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
ACCESSのフォームからデータの...
-
アクセスのフォームのビューが...
-
選択したチェックボックスのみ...
-
Accessフォームのテキストボッ...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
ACCESSで入力フォームをHTMLフ...
-
「メソッドまたはデータメンバ...
-
アクセス 0以外をカウントす...
-
Access2002 フォームを閉じるた...
-
ADOでRecordsetオブジェクトを...
-
Access:yesの時は画像を表示、...
-
ACCESSで、フォームのレコード...
-
Accessのフォームで作業領域を...
-
アクセスでの項目追加について...
-
帳票フォームに全レコードを表...
-
ACCESSフォームでのレコード数...
-
ACCESS フォームの値がすぐに...
おすすめ情報