レポートでの表示例です。
日付(生年月日)の年月日は1桁であったり2桁であったりしますが、書式やコントロールソースの設定を行うことでこのように「02」や「04」といったように2桁表示させ、全体の文字数と幅を揃えることができます。
そこでですが「02」や「04」といった表示ではなく「 2」や「 4」といったようにスペースを使った表示を行い、文字数と幅を揃えるにはどうしたらいいでしょうか。
書式プロパティでの実現は困難ですので、以下ではコントロールソースにより、つまり関数で実現する例を紹介します。
デザインビューです。
生年月日を表示しているテキストボックスのコントロールソースを次のようにします。
=Replace(Replace(Format([生年月日],"ggg_ee""年_""mm""月_""dd\日"),"_0","_ "),"_","")
※バックスラッシュは\を表しています。
補足ですが、まずFormat関数を使って年月日を2桁表示とし、それぞれの数字の頭にアンダースコア(_)を加えます。
その結果「_0」という文字列がある場合(つまり年月日の値が1桁である場合)はこれをReplace関数で「_ 」(アンダースコアとスペース)に置き換えます。
その結果に対しさらにReplace関数を使いアンダースコアを消去します。
ところで、フォントは「MS Pゴシック」などのプロポーショナルフォントではなく「MS ゴシック」などの等幅フォントにします。
こうしないと文字数は揃っても幅が揃わなくなります。
印刷プレビューです。
年月日が1桁の場合にはスペースが挿まれ、結果的に全体の幅が揃っています。