書式

 データ型の設定により列(フィールド)に記録される値の基本的な内容を定めることができますが、それぞれの列には多数のプロパティ(フィールドプロパティ)が存在し、さまざまな設定ができます。これらのうち、値の表現に関わるものとして重要な書式について説明します。

書式の役割

 書式により、入力された値をどのように表現するかを定めることができます。例としては、数値のゼロ埋め表示(123として記録されている数値を000123という形で表示する)や、日付の和暦表示(1960/7/15として記録されている日付を昭和35年7月15日という形で表示する)などが設定できます。
 書式は入力された値の表示の仕方を定めるものであり、入力される文字種や字数や制限することは基本的にできませんので、例えば郵便番号を必ず7字で入力させようといった場合には、書式より定型入力の方が適していると考えられます。実現したいことに対しどのフィールドプロパティが適しているのかの判断が重要となります。

書式の設定方法と設定例

 データ型に応じて基本的な書式がいくつか用意されており、ドロップダウンリストから選択することが出来ます(このような書式を定義済み書式といいます)。
 数値型の列において定義済み書式「通貨」を選択すると…


 設定前は「9000」といった形で表示されていた数値が「¥9,000」といった形で表示されます。


 また、書式の欄に、書式を表す文字列を直接記入することで設定することも可能です(これをカスタム書式といいます)。例として「00,000¥円」と記入してみます。


 今度は「09,000円」といった形で表示されています。記入した「00,000¥円」のうちは「00,000」は、値が5桁に満たない場合に0を使って5桁表示(いわゆるゼロ埋め)し、かつ3桁ごとのカンマをはさむという意味です。また「¥」は、次にある「円」の文字をそのまま表示するという意味です(この場合の¥は、お金の単位とは全く関係ありません)。
 書式に記入した「0」は、テーブルに記録されている数字(1文字分)を表すもので、このような記号をプレースホルダといいます。一方で「円」は書式の一部としてそのまま表示する文字を表すもので、このような文字記号をリテラルといいます。カスタム書式はプレースホルダとリテラルの組み合わせを中心として表現されます。

各データ型との対応

 書式はすべてのデータ型に存在するわけではありません。対応については次のようになっています。

短い
テキスト
長い
テキスト
数値型日付
/時刻型
通貨型オート
ナンバー型
OLE
オブジェ
クト型
ハイパー
リンク
添付
ファイル
集計
書式

データ型に応じた書式の詳細

短いテキスト・長いテキストの場合

 これらのデータ型には定義済みは用意されておらず、書式欄の右端のドロップダウンリストをクリックしても何も選べません。つまりカスタム書式しか利用できません。
 基本的にテキスト型は自由な内容を入力させる場合が多く、その入力内容に対してもあえて書式を設定する機会は多くないかと思われますが、一応の設定例として「@@@@@-@@@@@@@-@@@@@」と入力してみます。「@」は記録されている文字(1文字)を表すプレースホルダ(数値型における「0」に似たはたらきをします)であり、「-」はリテラルです(この場合、直前に\を置く必要ありません)。


 文字を入力すると…


 「-」の記号をはさんで表示されます。


 これらのデータ型においてカスタム書式に使用できる文字は以下のようなものです。

設定に使用する文字説明
@テーブルに記録されている文字(1文字分)を表します。例として書式を「@@-@@-@@@@」とし、実際の列の値として「abcdefgh」と入力すると「ab-cd-efgh」という形で表示されます。また、記録されている文字が「@」の数より少ない場合、「@」は半角空白に置き換えられて表示されます。同じ書式のもとで、実際の列の値として「abcdefg」と入力すると「 a-bc-defg」(先頭に半角空白が1つ残る)という形で表示されます。なお、@の数によって入力できる文字数を制限することはできません。同じ書式のもとで、実際の列の値として「abcdefghi」と入力すると「abc-de-fghi」という形で表示されます。
&テーブルに記録されている文字(1文字分)を表します。例として書式を「&&-&&-&&&&」とし、実際の列の値として「abcdefgh」と入力すると「ab-cd-efgh」という形で表示されます。また、記録されている文字が「&」の数より少ない場合であっても、「&」は他の記号等には置き換えられません。同じ書式のもとで、実際の列の値として「abcdefg」と入力すると「a-bc-defg」(先頭に空白がつかない)という形で表示されます。なお、&の数によって入力できる文字数を制限することはできません。同じ書式のもとで、実際の列の値として「abcdefghi」と入力すると「abc-de-fghi」という形で表示されます。
!この記号を使わない限り、テーブルに記録されている値はプレースホルダ(@や&)に対して右揃えになるように表示されます(上記@及び&の欄のうち、記録されている文字が少ない例を参照)が、この記号を使うと左揃えになるように表示されます。例として書式を「!&&-&&-&&&&」とし、実際の列の値として「abcdefg」と入力すると「ab-cd-efg」という形で表示されます(書式が「&&-&&-&&&&」の場合は「a-bc-defg」)。この記号は書式の欄の最初に記す必要があります。
<文字列に含まれる英字がすべて小文字で表示されます(全角、半角とも)。この記号は書式の欄の最初に記す必要があります(ただし、「!」を用いる場合は「!」の次の位置)。
>文字列に含まれる英字がすべて大文字で表示されます(全角、半角とも)。この記号は書式の欄の最初に記す必要があります(ただし、「!」を用いる場合は「!」の次の位置)。
*この記号の次に置いた文字(1文字)により、列の余白部分が埋め尽くされます。プレースホルダ(@や&)とともに用いる必要があります。例として書式を「&*a」とし、実際の列の値として「あいうえお」と入力すると「あいうえおaaaaaaaaaaaaaaaa」(aの数は列幅次第)という見た目で表示されます。また、書式を「&&*a&&&」とし、実際の列の値として「あいうえお」と入力すると「あいaaaaaaaaaaaaaaaaうえお」(aの数は列幅次第)という形で表示されます。
空白及び+-$()の各記号これらの記号はリテラルとしてそのまま表示されます。プレースホルダ(@や&)とともに用いる必要があります。
¥この記号の次に置いた1文字がリテラルとして、つまり書式の一部としてそのまま表示されます。@や&、そして¥などの記号をリテラルとしてそのま表示したい場合は「¥@」「¥&」「¥¥」といったように使います。他のプレースホルダ(@や&)とともに用いる必要があります。
"リテラル"ダブルクォーテーションで囲んだ文字列はリテラルとして、つまり書式の一部としてそのまま表示されます。ただし、プレースホルダ(@や&)とともに用いる必要があります。
[色名] 文字色を指定できます。色名として黒、青、水、緑、紫、赤、黄、白を指定可能です。プレースホルダ(@や&)とともに用いる必要があります。複数置くことができ、位置にも決まりはありませんが、有効なのは最後のものだけです。また、全体が指定した色で表示され、一部の文字だけ色を変えるということはできません。

数値型・通貨型・オートナンバー型の場合

 定義済み書式とカスタム書式の例については上記の例を参照ください。

 カスタム書式において使用できる文字は以下のようなものです。

設定に使用する文字説明
0テーブルに記録されている数字(1字分)を表します。例として書式を「00-00-0000」とし、実際の列の値として「12345678」と入力すると「12-34-5678」という形で表示されます。また、記録されている数字の字数が「0」の数より少ない場合、「0」は0として表示されます。同じ書式のもとで、実際の列の値として「1234567」と入力すると「01-23-4567」という形で表示されます。なお、0の数によって入力できる文字数を制限することはできません。同じ書式のもとで、実際の列の値として「123456789」と入力すると「123-45-6789」という形で表示されます。
#テーブルに記録されている数字(1字分)を表します。また、記録されている数字の字数が「#」の数より少ない場合、別の数字に置き換わりません。ただし、「#」を複数並べても書式として保持されない場合があるため注意が必要です。例として書式を「##-##-####」とした場合、自動的に「#-#-#」に変更されて記録されてしまいます。一応、この列に実際の列の値として「12345678」と入力すると「12-34-5678」という形で表示されますが、テーブルを開きなおしたときには「123456-7-8」となってしまいます。これだと有効な使い道がなさそうですが、例えば「#"cm"」といったような形で、リテラルを表示したい場合に併記するプレースホルダとして使えます。カンマの設定時にも有用です。
,(カンマ)3桁ごとに挿まれるカンマを表示することが出来ます。具体的な設定例としては「#,###」(値が0の場合何も表示しない)、「0,000」(値が12の場合「0,012」というようにゼロ埋めして4桁表示)、「#,##0」(値が0の場合「0」と表示)などがあります。
.(小数点)「0」と併用して小数点未満の表示の仕方を決めるために用います。設定例としては「#,##0.00」(小数点未満がない場合でも小数点以下2桁まで表示させる)などがあります。なお、小数を入力するにはフィールドプロパティ「フィールドサイズ」を「単精度浮動小数点型」や「倍精度浮動小数点型」にしておく必要があります。
%パーセント表示をする際に用います。値が1のとき「100%」というように表示されます。プレースホルダ(0や#)とともに用いる必要があります。
E+またはE-指数表示をする際に用います。例として書式を「0.0000E+000」とすると、値が50000(5かける10の4乗)のときは「5.0000E+004」という形で表示されます。同じく値が0.03のときは「3.0000E-002」という形で表示されます。「E+」と「E-」の違いは指数がプラスのときに「+」が表示されるかどうかです(「E-」だと「5.0000E004」といった形になります)。また、「0.00E+00」とすると定義済み書式の「指数」と同じ設定になり、自動的に定義済み書式に変換されます。
!数字がプレースホルダに対して左揃えになるように表示されます。ただし、プレースホルダとして0や#は使えず、@や&を使うこととなります。詳しくは1つ上の表を参照してください。
*この記号の次に置いた文字(1文字)により、列の余白部分が埋め尽くされます。ただし単独では機能せず、プレースホルダ(0や#)とともに用いる必要があります。
空白及び+-$()の各記号これらの記号はそのまま表示されます。プレースホルダ(0や#)とともに用いる必要があります。
¥この記号の次に置いた1文字がリテラルとして、つまり書式の一部としてそのまま表示されます。#や¥などの記号をリテラルとしてそのま表示したい場合は「¥#」「¥¥」といったように使います。他のプレースホルダ(0や#)とともに用いる必要があります。
"リテラル"ダブルクォーテーションで囲んだ文字列はリテラルとして、つまり書式の一部としてそのまま表示されます。プレースホルダ(0や#)とともに用いる必要があります。
[色名] 色を指定できます。色名として黒、青、水、緑、紫、赤、黄、白を指定可能です。プレースホルダ(0や#)とともに用いる必要があります。複数置くことができ、位置にも決まりはありませんが、有効なのは最後のものだけです。また、全体が指定した色で表示され、一部の数字だけ色を変えるということはできません。

日付/時刻型の場合

 定義済み書式として7種の書式が用意されています。ここで「日付 (L)」を選択してみますと…


 「1961/02/05」といったように表示されていた日付が、「1961年2月5日」という形に変わりました。


 次にカスタム書式を試してみます。定義済み書式には和暦を表示できるようなものがありませんが、カスタム書式なら可能ですので試してみましょう。
 例として書式に「ggge¥年m¥月d¥日」と入力してみます。


 今度は「昭和36年2月5日」といった形で表示されました。
 カスタム書式を用いると、日付にもとづいて元号や曜日を表示することも可能なので大変便利です。日付/時刻型はカスタム書式を用いる機会が多いデータ型といえます。


 カスタム書式において使用できる文字は以下のようなものです。

設定に使用する文字説明
d基本的に「日」を表しますが、いくつ並べるかで表示される内容が異なります。
d…「日」を1桁または2桁の数で表します
dd…「日」を2桁の数で表します
ddd…曜日を英語の略称で表します(Sun~Sat)
dddd…曜日を英語で表します(Sunday~Saturday)
ddddd…定義済み書式の「日付(S)」にあたります
dddddd…定義済み書式の「日付(L)」にあたります
a曜日を漢字で表します。
aaa…曜日を漢字1文字で表します(日~土)
aaaa…曜日を漢字3文字で表します(日曜日~土曜日)
w曜日等を数字で表します。
w…曜日を1桁の数で表します(1~7。日曜日が1で土曜日が7)
ww…その日の属する週が、その年の何週目にあたるかを数字で表します
m「月」を表しますが、いくつ並べるかで表示される内容が異なります。
m…「月」を1桁または2桁の数で表します
mm…「月」を2桁の数で表します
mmm…「月」を英語の略称で表します(Jan~Dec)
mmmm…「月」を英語で表します(January~December)
q「四半期」を1から4の数字で表します。
y基本的に西暦の「年」を表しますがいくつ並べるかで表示される内容が異なります。1個だけ(y)の場合は注意が必要です。
y…その日がその年の何日目にあたるかを数字で表します
yy…西暦の「年」の下2桁を数字で表します
yyyy…西暦の「年」を4桁の数字で表します
e和暦の「年」を表します。
e…和暦の「年」を1桁または2桁の数字で表します
ee…和暦の「年」を2桁の数字で表します
g元号を表します。
g…元号をアルファベット1文字で表します(M、T、S、H)
gg…元号を漢字1文字で表します(明、大、昭、平)
ggg…元号を漢字2文字で表します(明治、大正、昭和、平成)
h「時」を表します。
h…「時」を1桁または2桁の数字で表します
hh…「時」を2桁の数字で表します
n「分」を表します。
n…「分」を1桁または2桁の数字で表します
nn…「分」を2桁の数字で表します
s「秒」を表します。
s…「秒」を1桁または2桁の数字で表します
ss…「秒」を2桁の数字で表します
ttttt定義済み書式の「時刻(L)」にあたります。
¥この記号の次に置いた1文字がリテラルとして、つまり書式の一部としてそのまま表示されます。#や¥などの記号をリテラルとしてそのま表示したい場合は「¥#」「¥¥」といったように使います。他のプレースホルダ(mやd)とともに用いる必要があります
"リテラル"ダブルクォーテーションで囲んだ文字列はリテラルとして、つまり書式の一部としてそのまま表示されます。プレースホルダ(mやd)とともに用いる必要があります。
[色名] 色を指定できます。色名として黒、青、水、緑、紫、赤、黄、白を指定可能です。プレースホルダ(mやd)とともに用いる必要があります。複数置くことができ、位置にも決まりはありませんが、有効なのは最後のものだけです。また、全体が指定した色で表示され、一部の数字だけ色を変えるということはできません。


その他のデータ型(ハイパーリンク型・集計)の場合

 ハイパーリンク型について短いテキスト・長いテキストに準じますが、リテラルの表示が同じようにならない場合があります。
 集計については「結果の型」というフィールドオプションがあり、それに応じた定義済み書式、カスタム書式の設定が可能となります。