- ベストアンサー
Microsoft Access2003での印刷
- Microsoft Access 2003を使用して、CSVデータを印刷する方法について質問があります。
- 質問の内容は、特定のフィールドが埋まったCSVデータをAccessで読み込み、特定の形式で印刷する方法です。
- Accessにはセクションという機能があり、それを活用して希望の印刷フォームを作成することが可能です。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
強いて、Accessのレポート機能等を利用する必要はないと感じました。 01:先頭行の列1を出力する。 02:先頭行の列2を出力する。 03:次の行を読み込む。 04:列3が存在すれば列3を出力する。 05:列3が存在しない時は列4を出力する。 06:改頁する手前まで04、05を繰り返す。 07:締めの文言を出力する。 08:04~07を繰り返す。 以上のようなプログラムを書けませんか?仮に書けないとしたら、作表ソフトの出番かと思いますよ。要は、単なる作表作業ですから・・・。 1、Sheet1に呼び込む。 2、Sheet2の先頭で[締めの文言]を定義する。 3、先頭行の列1を出力する。 4、先頭行の列2を出力する。 5、03~07に相当する関数を定義する。 6、以下、ツツーッ。 こういうアプローチもあろうかと思いますよ。
その他の回答 (8)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
<補足>「締めの文言」の出力 Option Compare Database Option Explicit Dim isWriteFooter As Boolean Private Sub グループフッター0_Format(Cancel As Integer, FormatCount As Integer) isWriteFooter = True End Sub Private Sub ページフッターセクション_Format(Cancel As Integer, FormatCount As Integer) Cancel = iisWriteFooter isWriteFooter = False End Sub 添付図のように「締めの文言」を最後のページの行末に表示する場合は、少し工夫される必要があります。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
※グループ化しなければレコード順に出力されます。 ※一度切りの出力であれば、それでもOKかと思います。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
- hatena1989
- ベストアンサー率87% (378/433)
「締めの文言」は各ページの下部に表示するのですね。 見落としてました。 前回の回答でレポートフッターに「締めの文言」を配置としましたが、 ページフッターに「締めの文言」を配置する、に訂正します。
- hatena1989
- ベストアンサー率87% (378/433)
> 改頁したらAは必ず出力して続きから という仕様があるので、Accessのレポートだと比較的に簡単にできます。 CSVファイルを、インポートまたはリンクします。 これをレポートのレコードソースとします。 ページヘッダーに、Field_A を配置します。 これですべてのページのヘッダー部に「A」が表示されます。 詳細セクションに、Field_B ,Field_C ,Field_D を重ねて配置します。 背景スタイルを「透明」にしておくか、印刷時縮小を「はい」にしておきます。 レポートフッターに「締めの文言」を配置します。 以上です。
お礼
ご回答ありがとうございます。 重ねて配置という技?などは私では到底思いつきもしません。回答頂いたのを見ながらチャレンジしてみようと思います。ありがとうございました。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
補足:仮に Access を利用する場合は・・・。 1レコード目: A ,B , , 1レコード目: A ,B , , 2レコード目: A , ,C , 3レコード目: A , ,C , 4レコード目: A , , ,D 5レコード目: A , , ,D 6レコード目: A , , ,D 7レコード目: A , , ,D 上のように1レコード目を2行にすると、ほぼ何もしなくても目的を達成できるかと思います。 1、1レコード目を2行に。 2、テーブル[XXXX]に呼び込む。 3、ウィザードでレポート[XXXX]を生成する。 4、4つのフィールドを重ねる。 5、詳細部で1行目のAのみ Visibled=True にする。 6、詳細部で1行目以外のAを Visibled=False にする。 7、レポートの下部に[締めの文言]を付加する。 このような感じかと思います。
お礼
ご回答、並びに実際の例まで挙げていただきありがとうございます。 プログラミングはできないのですが、挙げて頂いたのを見ながら、Accessを作成していこうと思います。 本当にありがとうございました。