• ベストアンサー

OFFICE アクセスのマクロで教えてください。

アクセスについて、超初心者です。 アクセスのフォームに商品a、b・・それについてのそれぞれデータA、Bがあるとします。 表示したフォームに印刷ボタンをつけて、そのボタンに 各データA、Bをファイル名にもつレポートを印刷するマクロを作りたいのですが、 どうしたらよいでしょうか? マクロかVBAで、どのようにしたら、よいでしょうか?

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.5

でしたら コマンドボタンのクリック時イベントかな?に DoCmd.OpenReport "実際のレポート名", acViewPreview, WhereCondition:="ID = " & Me!ID でよろしいかと? acViewPreview で確かめて問題無さそうなら必要に応じて acViewNormal に変更しても可(この場合すぐに印刷が始まります) 実際のレポート名はそちらで変更してください。 ついでに。。 もしも、IDがテキスト型だったとしたら DoCmd.OpenReport "実際のレポート名", acViewPreview, WhereCondition:="ID = " & Me!ID ↓ DoCmd.OpenReport "実際のレポート名", acViewPreview, WhereCondition:="ID = '" & Me!ID & "'" と'シングルクォーテーションで括ってください。

ogawawa
質問者

お礼

いろいろと遠回りさせてしまい、すみませんでした。 導いていただいたおかげで、目からうろこといいますか、やっとわかりました。 ありがとうございました。 本を図書館から借りて 見ていたつもりが、まったく見ていなかったことに気づきました。 "実際のレポート名”のところ、レポート名1 ではなく、”AAA”としていました。 普通に レポート名1 が変数になるんですね。 他にも私の珍質問にお答えいただいた方々 ありがとうございました。 今後ともこれに懲りずに お願いいたします。 ほんとうにありがとうございました。

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

データAが表示されている状態のフォームから印刷させたらAレポート BならB、 ということか。 ここのファイルはフォームのもとになっているデータ群?。 フォームのボタンを押したときにAやBを判断できるにはどうしたら良いか、考えてみたか。 クエリ使うと対象データをレコードソース切り替えできます。A用、B用。 フォームでA用ボタンB用ボタンと2つで行ってみる。 手はあるのでそれぞれで稼動するもの、基本形を考える。 マクロやVBAでより良くするのはまだ早い。 値の代入、名前を制御しているプロパティーは何か学習。 ファイル名と言っているが普通はそれはファイル名とは言わないものと思われる。伝わってこない。

ogawawa
質問者

お礼

いろいろと考えていただきありがとうございました。 中途半端なご質問をしてしまい、申し訳ございませんでした。 用語など、もっともっと勉強してから 皆様に良い意味で悩んでもらえるような 質問をしたいと思います。 ありがとうございました。 とりあえず、マクロで レポート名1、レポート名2 というレポートを印刷する方向で できるようになりました。 お騒がせいたしました。 今後ともご指導、ご鞭撻のほどお願いいたします。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

何度か読み返してみましたが、 失礼ながらそちらの状況がサッパリ分かりません。。。 多分こんなことかと。 マクロの内容 アクションに、レポートを開く 下の所に レポート名 → そちらのレポート名を記述 ビュー → 印刷プレビュー フィルタ名 → 空欄 Where条件式 → [フィールド名] = Forms!テーブル名!フィールド名 ウィンドウモード → 標準 ※フィールド名とテーブル名は適宜変更※ 質問の仕方が良くありません! 例 OSはWindowsXP Access は2010を使っています。 『商品テーブル』がありまして フィールド名は ID (主キー 数値型) 商品名 (テキスト型) ファイル名 (テキスト型) 日付 (日付型) 中身はこんな内容です。 ID   商品名   ファイル名   日付 1      パン C:\Data\Pan.xls  2011/2/2 2   メロンパン C:\Data\Melon.xls 2011/3/3 3   ジャムパン C:\data\Jam.xls  2011/2/15 この『商品テーブル』をもとに『商品フォーム』を作りました フォームは帳票フォームです。 このフォームのコマンドボタンから その時に選択されているレコード、例えば メロンパンだけのレポートを出したいと思っています。 また、その際に同時にファイル名のC:\Data\Melon.xlsを 開きたいのですがその方法が分かりません。 ・・・とかならレスもすぐに付きますし解決も早いですよ。 質問が端折りすぎ。。。 また、用語はキチンと覚えましょう。 あなたの『ファイル名』とはなんぞや? そして回答者の質問には答えましょう。 一発回答で済んだ分かりやすい質問の例 http://okwave.jp/qa/q6512804.html

ogawawa
質問者

補足

いろいろすみません。  OSはWindowsXP Access は2000を使っています。 『商品テーブル』がありまして フィールド名は ID (主キー 数値型) 商品名 (テキスト型) ファイル名1 (テキスト型) ファイル名2 (テキスト型) 中身はこんな内容です。 ID   商品名   ファイル名1 ファイル名2    1      パン  AAA     DDD 2   メロンパン  BBB     --- 3   ジャムパン  CCC     EEE この『商品テーブル』をもとに『商品フォーム』を作りました フォームは単票フォームです。 このフォームのコマンドボタンから その時に表示されているたとば、商品名:パンの場合のファイル名1、 ファイル名2と同じ名前(AAA、DDD)のレポートを印刷したいと思っています。 そのコマンドボタンの作り方を教えてください。 お教えいただきました内容に沿って質問を書かせていただきました。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

>各データA、Bをファイル名にもつレポートを印刷 すこし確認です。 (1) 「ファイル名」とはレポートそのものの名前ですか、 その名前を補足にあるように「aaa」と変更する、 ということですか。 (2) あるいは、レポートをプレビューで開くと、左上に 「レポート名:レポート」とある部分を「aaa」に 置き換える、ということですか。 (3) 「aaa」はレポートで印刷するときに、印刷内容の 中に入るのでしょうか。 あるいは、印刷するときの確認用で特に印刷する内容の 中には入れない、ということでしょうか。 (4) >アクセスのフォームに商品a、b・・それについての >それぞれデータA、Bがあるとします。 このときのフォームは帳票フォーム、あるいは サブフォームを持つ、あるいは単票フォーム、 のどれですか。

ogawawa
質問者

補足

確認ありがとうございます。 (1) 「ファイル名」とはレポートそのものの名前ですか、 その名前を補足にあるように「aaa」と変更する、 ということですか。 「ファイル名」とはレポートそのものの名前です。 その名前を補足にあるように「aaa」と変更する では、ないと思います。 (2) あるいは、レポートをプレビューで開くと、左上に 「レポート名:レポート」とある部分を「aaa」に 置き換える、ということですか。 とは、違うと思います。 (3) 「aaa」はレポートで印刷するときに、印刷内容の 中に入るのでしょうか。 あるいは、印刷するときの確認用で特に印刷する内容の 中には入れない、ということでしょうか。 「aaa」は、印刷内容の中にはいらなくともよいです。 (4) >アクセスのフォームに商品a、b・・それについての >それぞれデータA、Bがあるとします。 このときのフォームは帳票フォーム、あるいは サブフォームを持つ、あるいは単票フォーム、 のどれですか。 単票フォームと思います。すみません、サブフォームなどわからなくて・・。 はじめにまんがのように書けばよかったです。すみません。 マクロで、レポート名を固定して開くは、できますが、 変数にして、VBA?でできるのでしょうか?

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

印刷ボタン押すと名前固定でよいのでレポートが出る ここまでできているか。 名前だけの問題かレポート出すことからの問題か 初心者にもレベルあるのでどこまで知っているかで回答変わります。 高度ならわからないと言うこと。 A項目の値をレポート名に使う? 質問の『ファイル名』は何指していますか?

ogawawa
質問者

補足

わかりにくくすみません。 名前固定でレポートがでるまでできています。 A項目の値の変数としてレポートに使いたいです。 ファイル名 は、A項目の値です。 レポートで商品aが表示されているときは、A項目の値がaaaならば、ファイル名aaaが開き、 レポートで商品bが表示されているときは、A項目の値がbbbならば、ファイル名bbbが開く という感じです。