使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
> ACCESS2013で作った住所録を基に、はがきウィザードで
> 縦書きのはがきなどを印刷するレポートを作ったのですが、
> クエリで
> 住所 :都道府県市区町村+番地 と
> 建物名:建物名+部屋番号 を作って印字させようとしています。
はがきウィザードによって作成されたレポートについては
そのレポートモジュールに様々なコード( VBA )が記述されて
いるわけですが、そのコードによって「住所文字列の分割」と
「住所要素の自動配置」が実行されます。
office365のAccess(Access2016)の宛名印刷について
引用:
> ------------------------------------------------------------
>
> 1. 住所として渡されたフィールドの値(文字列)を
> 郵便番号辞書(IME 郵便番号辞書ではなく、住所入力支援機能で
> 使用されるもの)と照合し、「都道府県名」「市区群名1」
> 「市区群名2」「町村域名」「丁目、番地以降の文字列」の
> 5 つの要素に分割する。
>
> 2. 「丁目、番地以降の文字列」に含まれている
> 算用数字を漢数字に変換する。
>
> 3. 5 つの文字列のそれぞれの長さに応じて文字列同士を
> 再結合しながら、1 ~ 3 個の非連結テキストボックスに
> 各要素の値を表示する。
>
> ------------------------------------------------------------
今回のケースでは上記 1 と 3 の処理が実行された結果でしょう。
> 建物名が空白の場合は問題なく住所が1行で印字されるのですが、
> 建物名が入ると、都道府県市区町村までで1行、
> 隣に番地+建物名で1行といった風に印刷されてしまい、
> 非常にかっこ悪いものになってしまいます。
具体的に言えば、詳細セクション上の非連結テキストボックス
[_Address_sub1]に出力する文字列に**「丁目、番地以降の文字列」まで**
含めるとその印字領域からはみ出てしまうと判定された結果、
その隣の非連結テキストボックス[_Address_sub2]に
「丁目、番地以降の文字列」を出力するように調整された、
ということでしょう。
> 何か良い方法はないでしょうか?
・気にせずにそのまま使用する。
・レポートモジュールのコードを自力で改変する。
・レポートモジュールのコードを全て削除し、
[_Address_sub1], [_Address_sub2], [_Address_sub3]の
コントロールソースを適宜設定する。
(但し「算用数字から漢数字への変換処理」等も行なわれなくなる)