• ベストアンサー

Accessレポート出力時の範囲指定

Accessでレポートを出力する際に出力範囲を画面から入力したいと思ってます。 下記3項目をフォーム(frm出力範囲)から入力しようと考えてます。       住所コード (テキスト形式) : [住所自]   ~ [住所至]        販売店コード(数値型) : [販売店自] ~ [販売店至]        担当者コード(数値型) : [担当者自] ~ [担当者至]  レポートを開く際にWhere条件式に指定すればできるのかとも思いますが (できるかどうかもわかりませんが)どうすればよいかわかりません。 どなたかお教えいただけませんか?

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

  • ベストアンサー
回答No.3

提示された情報からは、No.2 の回答の ="住所コード:" & Forms![frm出力範囲]![住所自] & "~" & Forms![frm出力範囲]![住所至] & Chr(13) & Chr(10) & "販売店コード:" & Forms![frm出力範囲]![販売店自] & "~" & Forms![frm出力範囲]![販売店至] & Chr(13) & Chr(10) & "担当者コード:" & Forms![frm出力範囲]![担当者自] & "~" & Forms![frm出力範囲]![担当者至] で問題ないはずです。 情報に間違いがあるか、式に記述ミスがあるとしか思えません。 オブジェクト名に間違いがないか、記述に間違いがなかい注意深く確認してください。全角/半角が違っていたり、空白が入っていたりなど、ちょっとでも違うとエラーになります。 あと、このレポートを開くときに、フォーム「frm出力範囲」は開いたままにしてますよね。閉じちゃったら参照できませんのでエラーになります。

crabcan
質問者

お礼

ありがとうございました。 おかげさまでなんとかできました。 最大の原因はフォーム「frm出力範囲」を途中で閉じてしまってたことでした。 プリントイメージが小さくて見えないので拡大してみようとした際に フォーム「frm出力範囲」のプロパティでポップアップを指定していたため 閉じないと拡大できなかったので何も考えず閉じてしまいました。 それと該当のテキストの表示サイズが小さかったため、一部しか印字されなかった ようです。 いろいろと考えていただき助かりました。 ありがとうございました。 またよろしくお願いします。

その他の回答 (2)

回答No.2

> 範囲指定のため入力した項目をリストに表示しようと思いリスト上に配置した項目の > プロパティで >   名前: 住所自 >   コントロールソース: [Forms]![frm出力範囲] > と指定してみたのですが、空白になってしまいました。 「囲指定のため入力した項目をリストに表示」というのが具体的にどのようなことなのか不明瞭ですが、 レポート上に設定されている抽出条件を確認のためにレポート上に表示したいと言うことなら、 テキストボックスを配置してコントロールソースを下記のように設定します。 =[Filter] これで設定されている抽出条件が表示されます。 分かりやすい表示にしたいと言うことなら、テキストボックスのコントロールソースに下記のように設定してください。 ="住所コード:" & Forms![frm出力範囲]![住所自] & "~" & Forms![frm出力範囲]![住所至] & Chr(13) & Chr(10) & "販売店コード:" & Forms![frm出力範囲]![販売店自] & "~" & Forms![frm出力範囲]![販売店至] & Chr(13) & Chr(10) & "担当者コード:" & Forms![frm出力範囲]![担当者自] & "~" & Forms![frm出力範囲]![担当者至]

crabcan
質問者

補足

早い対応ありがとうございます。 それから説明不足で申し訳ありません。 追加で説明させていただきます。 レポートは販売店コードをキーにページ替えを行い、そのヘッダーに 範囲入力画面で入力した内容を下記のように印刷したいと考えてます。       住所コード : [住所自]   ~ [住所至]        販売店コード : [販売店自] ~ [販売店至]        担当者コード : [担当者自] ~ [担当者至]  それで教えていただいた内容で処理しようとしたのですが、 私の知識不足のせいでhatena1989さんの意図したとおりに 指定できなかったようでうまくいきませんでした。 具体的には6つの変数の名前は変えずに(住所自、住所至など) コントロールソースの欄に=[Filter]と指定しました。 また=[Filter]の代わりに="住所コード"から始まる式をいれてみましたが やはりうまくいきません。 基本的なところで理解できていないと思います。 お手数をかけますが、具体的な指定の仕方を教えていただけますでしょうか。 よろしくお願いします。

回答No.1

> レポートを開く際にWhere条件式に指定すればできるのかとも思いますが ということはマクロの「レポートを開く」で開いていると言うことでしょうか。 ならば、Where条件式 に下記の式を設定すればどうでしょうか。 ([住所コード] Between Forms![frm出力範囲]![住所自] And Forms![frm出力範囲]![住所至]) AND ([販売店コード] Between Forms![frm出力範囲]![販売店自] And Forms![frm出力範囲]![販売店至]) AND ([担当者コード] Between Forms![frm出力範囲]![担当者自] And Forms![frm出力範囲]![担当者至])

crabcan
質問者

補足

hatena1989さん 二度も的確な助言をいただき、ありがまた一歩前進できました。 甘えついでと言っては失礼ですが、関連した質問をさせていただいてよろしいでしょうか? (本来は別に質問をあげた方がよいのかもしれませんが) 範囲指定のため入力した項目をリストに表示しようと思いリスト上に配置した項目の プロパティで   名前: 住所自   コントロールソース: [Forms]![frm出力範囲] と指定してみたのですが、空白になってしまいました。 どのように指定すればよいでしょうか?

関連するQ&A