Microsoft Access 掲示板

【ゆる募】抽出条件だけが違うクエリを1つにまとめる方法【なる早】 / 5

8 コメント
views
4 フォロー
5
hiroton 2023/11/14 (火) 11:06:27 a415b@f966d

コピペされてないようなので何とも言えないですが

    '//検証用コード
    Dim strWhereCondition As String
    strWhereCondition = 担当者=[Forms]![F_担当者別出力]![cmb_担当者名]
    Debug.Print strWhereCondition
    '//検証用ここまで

    DoCmd.OpenReport "R_出力用レポート", acViewPreview,,strWhereCondition

として、コードを試してください
strWhereConditionTrueとなって、つまり全レコードを対象にするフィルタ(無意味)をかけてるんじゃないですかね


有効な SQL WHERE 句を文字列式で指定します。ただし、WHERE という語を指定する必要はありません。

なので、きちんとWHERE句の文字列になるように渡しましょう
あと、自身のフォームのコントロール(コンボボックス)を指定するときはMeキーワードを使用するといろいろと捗ります
ついでに、「担当者名」って文字列ですよね?

Private Sub btn_担当者別プレビュー表示_Click()

    If Trim(Nz(Me!cmb_担当者名, "")) = "" Then '担当者を選択していない場合

        Exit Sub

    End If

    DoCmd.Close acReport, "R_出力用レポート" '連続してプレビュー表示を押した時用
    DoCmd.OpenReport "R_出力用レポート", acViewPreview,,"担当者='" & Me!cmb_担当者名 & "'"
    DoCmd.RunCommand acCmdPreviewOnePage

End Sub

Private Sub btn_担当者別プレビュー表示_Click()

    If Trim(Nz(Me!cmb_担当者名, "")) = "" Then '担当者を選択していない場合
    
        Exit Sub
        
    End If
    
    DoCmd.Close acReport, "R_出力用レポート" '連続してプレビュー表示を押した時用
    DoCmd.OpenReport "R_出力用レポート", acViewPreview,,"担当者='" & Me!cmb_担当者名 & "'"
    DoCmd.RunCommand acCmdPreviewOnePage
End Sub

また、標準モジュールにAutoFontSize関数を記述しているのですが、

こっちはだいぶ問題が異なりそうなのでひとまず無回答で

通報 ...
  • 6
    Muramasa 2023/11/14 (火) 11:22:55 7fdfc@46fae >> 5

    WHERE句?を正しく指定出来たら、きちんと各担当者のレポートだけが表示されるようになり、何故か実行時エラーの問題も解決しました!!クエリもレポートも減ってスッキリしました

    8

    お礼が抜けておりました、本当にありがとうございました🥰