書式を設定する
書式では格納されているデータをデータシートビューなどで表示するときの表示書式を設定することが出来ます。ここでは Access で書式を設定する方法について解説します。
(Last modified: )
書式を設定する
テキスト型の場合にはデータが含まれている場合と、Nullや長さが0の文字列の場合の2つの場合で書式を分けて指定することが可能です。
まずデータが含まれている場合の書式の指定の仕方です。任意の文字の他に4つの書式指定文字が用意されています。
記号 | 内容 |
---|---|
@ | 文字が存在する場合はその文字を、文字が存在しない場合は空白を表示します。 |
& | 文字が存在する場合はその文字を表示し、文字が存在しない場合は何も表示しません。 |
< | すべて小文字にします (アルファベットのみ)。 |
> | すべて大文字にします (アルファベットのみ)。 |
「@」と「&」の使い方は少し注意が必要です。具体例を見ながら確認していきます。
テキスト型のフィールドが1つだけあるテーブルを作成し、上記のように3つのレコードを登録してあります。この時点では書式は設定していません。
ではデザインビューに戻り、書式に「@」とだけ指定してみます。
「@」や「&」の場合は記述した数だけ右側から適用されます。1文字だけ「@」と書いた場合には格納されているデータの右側の1文字に対してこの書式が適用されます。「@」の場合は文字が存在すればその文字を表示しますのでデータシートビューに移っても見た目は変わりありません。
では次に書式に「@-@」と記述して下さい。この「-」のように書式では先ほど書いた4つの書式指定文字以外に任意の文字を指定できます。
ではデータシートビューに切り替えてみます。
今回の場合は「@」が2つ使われていますので右側から2つの文字が対象となります。この2つの文字はそのまま表示しつつ書式として「-」が設定されているため、右から1つ目の文字と2つ目の文字の間に「-」が表示されています。
では次に書式に「(@@-@@-@@)」と記述して下さい。
ではデータシートビューに切り替えてみます。
今回は「@」が6個使われていますので右側から6個の文字が対象となります。今回は6文字に満たないデータが含まれているレコードがありますが、「@」の場合は文字が存在しない場合は空白を表示します。
では次に書式に「(&&-@@-@@)」と記述して下さい。
ではデータシートビューに切り替えてみます。
1つ前のサンプルと似ていますが、今回は右から数えて5番目と6番目の文字の書式指定に「@」の代わりに「&」が使われていますので、文字がある場合はその値を使い、文字が存在しない場合は何も表示しません。1つ前のサンプルと比較してみて下さい。
大文字から小文字へ、小文字から大文字へ
次に書式として「<」と「>」について見ていきます。この書式が設定された場合「<」の場合には入力されたデータの中にアルファベットがある場合は全て小文字にします。「>」の場合にはアルファベットを大文字にします。
実際に試してみます。
テキスト型のフィールドが2つあるテーブルを作成し、上記のように3つのレコードを登録してあります。この時点では書式は設定していません。
ではデザインビューに戻り、最初のフィールドの書式に「<」を、次のフィールドの書式に「>」を指定してみます。
ではデータシートビューに切り替えてみます。
書式に「<」を設定した最初のフィールドは全て小文字に、書式に「>」を設定した2番目のフィールドは全て大文字に変換されて表示されます。
Null又は長さが0の文字列の場合の書式の指定
テキスト型に対する書式では通常の書式の指定の他に、含まれているデータがNullであったり長さ0の文字だった場合用に別の書式を同時に指定することが可能です。次のように通常の書式と特別な書式をセミコロン(;)で結んで記述します。
通常の書式;Null又は長さ0の場合の書式
例としてデータがNullであったり長さが0の文字列だった場合は「(未入力)」と表示するように設定してみます。(データがある場合はそのまま表示するだけにしてあります)。
テキスト型のフィールドが1つあるテーブルを作成し、上記のように3つのレコードを登録してあります。この時点では書式は設定していません。
ではデザインビューに戻り、書式に「@;"(未入力)"」を指定してみます。
ではデータシートビューに切り替えてみます。
格納されているデータがNullや長さが0の文字列だったレコードでは表示が「(未入力)」になっているのが確認できます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。