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
として、コードを試してください
strWhereCondition
はTrue
となって、つまり全レコードを対象にするフィルタ(無意味)をかけてるんじゃないですかね
有効な 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関数を記述しているのですが、
こっちはだいぶ問題が異なりそうなのでひとまず無回答で
通報 ...
WHERE句?を正しく指定出来たら、きちんと各担当者のレポートだけが表示されるようになり、何故か実行時エラーの問題も解決しました!!クエリもレポートも減ってスッキリしました
お礼が抜けておりました、本当にありがとうございました🥰