• 締切済み

ACCESS レポート Filter Nameを使った出力とエクスポート

またお力をお貸し下さい!! 1つのレポートフォームを使い、 OpenReport メソッドのFilterNameを使い、6種類のレポートを出力しています。 そこで、その6種類をエクスポート(snp)したいのですが、 可能でしょうか?またどのようにしたら良いのでしょうか? 理想としては、 フォーム上のマクロボタン(マクロでもVBでも可)をクリックし、 6つのレポートをエクスポート その後、6つの宛先に添付ファイルとしてE-Mail添付 (E-Mail添付の方法はわかります) というようなことがしたいのです。 横着せずに、それぞれのレポートを作ったほうが良いのでしょうか。。

みんなの回答

  • t2hayashi
  • ベストアンサー率46% (102/219)
回答No.2

>因みに、テーブル名は、クエリー名でも構わないのでしょうか? 基本的に問題ないはずです。 ちなみにレポートのオープン時というよりも トリガーになるアクションで (1)レポートを開いて (2)レコードソースを指定 (3)アウトプット にすべきですね。 ちなみにwhere条件は Me.RecordSource = "SELECT * FROM テーブル名 where フィールド名=" & 条件 & ";" こんな感じになりますがここは大丈夫ですか? まずはレコードソースをVBA上からコントロールできるようにしましょう。 参考URLを入れておきます。

参考URL:
http://www.accessclub.jp/samplefile/samplefile_121.htm
  • t2hayashi
  • ベストアンサー率46% (102/219)
回答No.1

レポートを開く際にレコードソースを指定。snp出力でどうでしょう。 Private Sub Report_Open(Cancel As Integer) Me.RecordSource = "SELECT * FROM テーブル名 where条件" DoCmd.OutputTo acOutputReport, "レポート名", acFormatSNP, "出力先パス" End Sub と言った感じです。これで可能かと・・・

naopyong
質問者

補足

<<↑やってみました>> 実行時エラー:2585 でレポートが表示されず。。 因みに、テーブル名は、クエリー名でも構わないのでしょうか?  

関連するQ&A

  • accessのレポートについて教えてください。

    こんにちは。 今、アクセスにてフォームを印刷するためのレポートの編集をしています。何件か登録して、そろそろ印刷してみようかなぁと思っていてプレビューを作成しましたが、そこで困ったことに気がつきました。 それは、フォームに登録したレポートが現在6件あるのですが、 6件目の途中のレコードでページが変わってしまい、2ページ目の始まりがとても中途半端な感じがしてしまいます。 そこで質問ですが、 アクセスのレポート作成の際に、途中の項目でページ変更しないように設定する事はできますか? VBとかモジュールとかマクロとかは使用した経験がほとんどない初心者です。 どうか、よい方法を教えてください。

  • アクセス2007 フォームフィルターをレポートにも

    アクセス2007 フォームフィルターをレポートにも フォームA---「家」データ        「家ID」 佐藤さん、斎藤さん、住所、電話等 フォームB---「家族内」データ        各家の家族構成 お父さんの誕生日、お母さんの誕生日などなど「家ID」有り フォームBでフィルターをかけ、「家ID」を元にフォームAで該当するデータを表示させています。 ----------------------------------------------------   Set rs = Forms.フォームB.RecordsetClone   Do Until rs.EOF     フィルタ = フィルタ & "," & rs!家ID rs.MoveNext Loop rs.Close   フィルタ = "家ID IN (" & Mid$(フィルタ, 2) & ")"   DoCmd.OpenForm "フォームA", WhereCondition:=フィルタ, ---------------------------------------------------- ※フィルタは255文字を超える場合有り このフォームAを元に レポートC(はがき宛先)で DoCmd.OpenReport "レポートC", acViewPreview, WhereCondition:=フィルタ(または、forms.フォームA.Filter) とすると「フィルターが長い」とエラーになります。 OpenFormでのWhereCondition:=は長くても受け付けますが、OpenReportの方は受付ないみたいです。 リレーションの知識不足のまま、進めてきたシッペ返しが今きているのですが、 こんな場合どうしたらフォームの検索条件をレポートに反映できるでしょうか?

  • access2003 レポートごとにプリンター指定

    win XP access2003 accessで70種類のレポートを使い分けています。レポートごとに異なるプリンターを指定して印刷してます。 ページ設定でプリンターを設定できますが、レポートの種類が多いため管理が大変です。 簡単な管理法がないでしょうか? たとえば、テーブルにレポート名、プリンター名、用紙サイズ といったようにして、マクロ(VB)なんかは無理でしょうか? よろしくお願いします

  • ACCESS2010 レポートを分割しPDF化

    ACCESS2010にて、数百件の宛先に向けた通知書を作成しています。 いくつかのテーブルから必要な部分をクエリで抽出し、それをレポートの落とし込む形式です。 レポートは宛先名称等が入ったヘッダーと詳細欄で構成しています。 作成した通知書を、それぞれの宛先ごとにメールへ添付し送付したいのですが、 レポートから印刷でPDF化すると全ての通知書が一つのPDFファイルとして出力されてしまいます。 そのため、メールに添付する際にはひとつひとつ手作業でPDFファイルファイルを分割しなければなりません。 これを一度の印刷作業でヘッダー毎にファイルが作成されるようにはできないのでしょうか。 マクロ、VBAも多少は扱えますのでコードを記述していただいても構いません。 イメージとしては、 【宛先】   A社     B社     C社 【通知書】  A通知書.pdf B通知書.pdf  C通知書.pdf と出せるようにしたいです。 よろしくお願いいたします。

  • access97のレポートを複数枚印刷設定する方法

    access97にて、フォームに作成した印刷ボタンを押すとレポートが印刷されるようマクロを作成いたしました。 印刷を振り分けるシステムと繋げて数台のプリンターで出す様にする為、 規定枚数印刷するようにマクロを変えたいのですが、どのようにすればよいでしょうか? 今は 閉じる(オブジェクトの種類:フォーム、オブジェクト名:フォーム1、オブジェクトの保存:確認) レポートを開く(レポート名:レポート1、ビュー:印刷、フィルタ名とWhere条件式の部分は空欄) フォームを開く(フォーム名:フォーム1、ビュー:フォームビュー、ウィンドウモード:標準、Where条件式とデータモードの部分は空欄) 最大化 というように作成しました。 印刷マクロを繰り返しても、2枚と認識せず1枚×2で認識し振り分けできないようなのです。 どなたかお解りの方ご回答お願いいたします。 かなり初心者のため出来るだけ具体的にご回答いただけると助かります。

  • Access2003レポートの連続印刷方法

    以下のような仕様にて、Access2003で取引案件管理データベースをつくっています。 一案件ごとにA,B,Cと三種類のレポートがあり、それを順番に印刷する機能を追加しようとしているのですが、方法がわからず、アドバイスをお願い致します。 *仕様* ・ユーザはアクセスオープン時に、自身のIDとパスワードを入力 ・認証が通ると、総合メニュー画面が起動される。 総合メニューには「入力フォーム起動ボタン」と「レポート印刷ボタン」がある ・DB内部でIDとユーザの所属部署の紐付けを行っており、入力フォームを起動すると、自分の所属部署の担当案件だけが表示される (フォームのコードで、グループごとにフィルタをかけている) ・レポートは案件ごとにA,B,Cと三枚に分かれている ・入力フォーム内にも、印刷ボタンがあり、それを押すと表示されている案件のレポートがA、B、Cの順番で出力される。 コードは以下の通り DoCmd.OpenReport "レポートA", acViewNormal, WhereCondition:="[案件名] ='" & Me.案件名 & "'" DoCmd.OpenReport "レポートB", acViewNormal, WhereCondition:="[案件名] ='" & Me.案件名 & "'" DoCmd.OpenReport "レポートC", acViewNormal, WhereCondition:="[案件名] ='" & Me.案件名 & "'" *今回つくりたい機能* 総合メニューの「レポート印刷ボタン」の中身を実装したいと考えています。 これを押すと、案件ID「001」のレポートA→B→C→案件ID「002」のレポートA→B→C→案件ID「003」・・というように、案件ごとにレポートA,B,Cがセット(連続)で印刷できるようにしたいのです。 上の構文と、レコード送りを組み合わせればいいのではないかと予想はついているのですが…緊急対応で、自分でコードを試行錯誤している時間がないもので、コードを上のような機能を実現できるコードを教えて頂けますと幸いです。宜しくお願い致します。

  • Access2010のDBを2002で開きたい

    いつもお世話になります。 私、Access2010作成DBをどうしてもAccess2002で開きたいので、Webで探した以下のサイトを見様見真似でやりましたが、VBエディターを分かっていない事もあり、先へ進めなくなりました。ご存知の方、是非、アドバイスをお願いします。※変換後の不具合は承知を前提です。 ■探したサイト http://ivystar.jp/ms-office/access/how-to-convert-to-a-lower-version-of-access-2010-to-2003/ 「やってみたこと」 変換したいAccess2010のDBを開き、データベースメニューのVisual basicメニューコマンドをプッシュし、Vbエディターのペインに表示されたMicrosoft access クラスオブジェクトと標準モジュールを任意のフォルダーにエクスポートしました。 「エクスポート作業での疑問」 1、標準モジュールの変換するマクロはエクスポートできないこと。 2、マクロファイルのエクスポートの可能可否すら分からないこと。 「今後の課題と問題」 1、エクスポート以後のフォームとレポートのプロパティシートに「コード保持」の「いいえ」設定への 作業プロセス(具体的手順)が分からないこと。 2、エクスポートデータをaccessDBにする工程に自信がないこと。 以上ですが、是非、アドバイスをお願いします。

  • MS Accessのフォームについて

    Access2010についてお教えください。 添付の画像のように「テストメインフォーム」があります。 フォームには「テストサブフォーム」というサブフォームが配置されています。 画像はないですが、「テストレポート」というレポートもあります。 やりたい事。 テキストボックス(テスト1の値)に文字列を入力し、印刷ボタンを押す。 テキストボックスに入力された値をキーに「テストレポート」にデータが渡され、プレビュー表示。 「テスト5」のチェックボックスをONにする。 添付画像では、テキストボックスに入力された値が003のため、サブフォームの テスト1の値が003の行のテスト5のチェックボックスをONにする。 以上の事を実現できる方法をお教え頂けませんでしょうか。 DoCmd.OpenReport "テストレポート, acViewPreview, , "テスト1 = '" & txt_inputID & "'" とやったら、クエリパラメータみたいになり、テキストボックスの値を直接見るといったことが できませんでした・・・

  • 別ファイル上でオブジェクトを一度にエクスポートするには?

    【Win98/Access97】 お世話になります。 早速質問ですが、AccessのファイルがFileA,FileB,FileCと3つあるとして、 FileC上から実行をかけると、FileBの全てのオブジェクトがFileAへエクスポ ートされるようなしかけを作ることはできるでしょうか? マクロを作成してデータベース変換やオブジェクトのコピーなどを試してみましたが、 いずれもテーブルやフォームは問題ないものの、レポートが「無効な参照」と出てしまってエクスポートできません。 取りこみたいファイルにマクロを作ってインポートする方法はできないことも ありませんが、オブジェクトを手で消されたりすると困るので、できるだけ ユーザーに中を触らせたくありません。 よい方法がありましたら教えて下さい。

  • ACCESSのマクロで特定のレポートを印刷・保存したいが・・・

    ACCESS2000のマクロについてお尋ねします。 フォームから特定のレポートを印刷し、同時に指定したフォルダに保存するマクロを作っています。 アクション:レポートを開く  レポート名:R_報告書  ビュー:印刷プレビュー  Where条件:[Forms]![フォーム名]![コントロール名]=[レポートのコントロール名] アクション:出力  オブジェクトの種類:レポート  オブジェクト名:R_報告書  出力ファイル形式:Snapshot Format  出力ファイル:(保存先フォルダへのパスとファイル名)  自動起動:いいえ この状態だと問題なくうまくいくのですが、ビューを「印刷プレビュー」から「印刷」にすると 「印刷中」のダイアログボックスが出て「R_報告書を印刷中です」と表示され、カウンターがクルクル回り始め、1からテーブルに保存されているレコード数をすべて表示し終えるまで「保存」されません。 現在2000以上のレコードが入っているのでかなりの時間がかかります。 一体「印刷プレビュー」を「印刷」にするだけでなぜこんなことになるのでしょう? 一週間以上さまざまなことを試してみましたがお手上げです。 ご存知の方がいらしたらよろしくお願いします。

専門家に質問してみよう