見出し画像

【Microsoft Access 】レポートの印刷時拡張がうまくいかなかった件

ネットで検索しても同様の症状への対処にたどり着けず、自力解決できたのでメモしておきます。

症状

Microsoft Accessでレポートを作成中に、テキストボックスのプロパティで「印刷時拡張」を「はい」にしているにも関わわらず、印刷すると拡張されず文字が入りきらないテキストボックスの値は###と表示された。

値が改行されて表示されるはずがシャープになってしまっている。

このテキストボックスは数字が入るもので、幅は数字3桁分だがたまに4桁の値も存在するので、その際には改行されて表示されるはず。

テキストボックスのプロパティ、書式→印刷時拡張は「はい」になっている。

実際、同じレポート上の同じように設定しているテキストボックスでは正常に改行されているところもありました。
また、フォントサイズを上げたり下げたりしてもなぜかうまく印刷時拡張されました。ただフォントサイズは譲れなかったのでそれで解決というわけにもいきませんでした。

検索してみたものの

検索しても、日本語で使うゆえの禁則処理に関するバグで~のような内容はヒットするものの、私のレポートで問題になっている値には数字しか入らないのであまり関係なさそうでした。
仕方がないのでうまくいっているところとそうでないところを比較しました。

データ型が違った

見た目上同じように数字が入っているだけの各項目でしたが、もとになっているテーブルのプロパティを開くと、データ型が「数値型」と「短いテキスト」とまちまちだったことがわかりました。

見た目にはどれもただの数字

うまくいっていなかったテキストボックスの元データは数値、うまく印刷時拡張されていた方の元データは短いテキストでした。
なのでテーブルの数値になっていたデータ型を短いテキストに変更したところ、うまく印刷時拡張されました。

別の解決案

テーブルの元データのデータ型を変えるなんてそんな乱暴な!
という場合、実際にやってみたわけではありませんが、レポートのデータソースのほうで当該フィールドをCStr関数で変換しても良いのではないかと思います。
nullがある場合もう少し複雑なことを考えなくてはならないかも?


この記事が気に入ったらサポートをしてみませんか?