MS Access Tips/Sample and VBA and Blog customize etc...

メモ型フィールドの任意の位置で改ページしたい

メモ型のフィールドに文章を入力してレポートで印字するのですが、文章中の任意の位置に特定の改ページマークを挿入してその位置で改ページしたいです。

例えば、下記のように[KPAGE] というマークを挿入して、その位置で改ページする。

あいうえお
かきくけこ
[KPAGE] ←改ページしたい場所
さしすせそ
たちつてと
なにぬねの
[KPAGE] ←改ページしたい場所
はひふへほ
[KPAGE] ←改ページしたい場所
まみむめも

というような質問がありました。どれほど需要があるのか不明ですが、動作確認用にサンプルを作成しましたので紹介します。

難易度:

レポートのレコードソースは下記のようなテーブルとします。

フィールド名  データ型 
ID  オートナンバー型 
タイトル  テキスト型 
本文  メモ型 

レポートの「並べ替え/グループ化の設定」で「ID」でグループ化してグループヘッダーを表示させます。グループヘッダーには、「ID」「タイトル」を配置します。詳細セクションには下記の2つのテキストボックスを配置します。

プロパティ  設定値 
名前 本文
コントロールソース 本文
可視 いいえ

プロパティ  設定値 
名前 テキスト1
コントロールソース 本文
印刷時拡張 はい

詳細セクションの最下部に 改ページコントロールを配置します。

レポートモジュール

「本文」のデータをSplit関数で改ページマークで分割して配列に格納します。分割数分、NextRecord = False で詳細セクションを繰り返し出力して、分割した文を非連結テキストボックスに順に代入します。

NextRecord = False で繰り返す場合、セクションの「改ページ」プロパティの設定は効かないので、「改ページ」コントロールで改ページさせます。

サンプルファイルが下記からダウンロードできます。
RptPageBreak_07.zip (Access 2007-2010 形式 - 20kb)
RptPageBreak.zip (Access 2002-2003 形式 - 14kb)
RptPageBreak_2k.zip (Access 2000 形式 - 14kb)

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/183-65c47916
該当の記事は見つかりませんでした。