ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.002

数値の先頭に0を付け桁を揃えて表示する(ExcelならTEXT関数のような) 《Format》

2003/2007/2010/2013/2016

ExcelではTEXT関数を使ってできるような、表示形式を設定した値に変換したい、というお問い合わせです。

例えばフィールド[F1]が、「1、2、3、」といった数値であるときに、「001, 002, 003, ・・・」と先頭に0を付けて3桁に揃える表示にしたいとします。

AccessはTEXT関数ではなく、Format関数を使用し、次の式となります。

   Format([F1], "000")

8桁で表示するなら、「"00000000"」と「0」を8個書きます。
ExcelのTEXT関数と同じ使い勝手ですね。

Format関数は使用頻度が高く、さまざまなオブジェクトなどで利用されます。
1つ目の引数にフィールド名、2つめの引数に書式を文字列で指定して求めることが大多数であると思いますが、本来4つの引数を持ちます。下記<ヘルプmemo>を参考にしてください。

ヘルプmemo

<Format関数>

データを指定した書式に従って変換し、文字列を示すバリアント型で返します。
 構文: Format(expression [, format ] [, firstdayofweek ] [, firstweekofyear ] )
 引数:
  expression …フィールド名など任意の有効な式を指定
  format …定義済み書式または表示書式指定文字を指定[省略可]
  firstdayofweek …週の最初の曜日を定数または値で指定[省略可]
      vbUseSystem または 0 … NLS API の設定値を使用
      vbSunday または 1 …日曜日(既定値)
      vbMonday または 2 …月曜日
      vbTuesday または 3 …火曜日
      vbWednesday または 4 …水曜日
      vbThursday または 5 …木曜日
      vbFriday または 6 …金曜日
      vbSaturday または 7 …土曜日
  firstweekofyear …年の最初の週を定数または値で指定[省略可]
      vbUseSystem または 0 … NLS API の設定値を使用
      vbFirstJan1 または 1 …1月1日の週を最初の週(既定値)
      vbFirstFourDays または 2 …年初の週が3日以下の場合、次の週を最初の週
      vbFirstFullWeek または 3 …その年最初の7日ある週を最初の週

詳しくはMicrosoftのサポート ページ「Format 関数」をご参照ください。

関連ヘルプ

2つの日付の期間を求める 《DateDiff》
特定の文字より左部分にある文字列を取り出す 《Left・InStr》
条件に一致するレコードの件数を求める(ExcelならCOUNTIF関数のような) 《Dcount》
文字列を半角または全角にする(ExcelのASC/JIS関数のような) 《StrConv》
DCount、DLookUpなど定義域集合関数について
特定の文字より右部分にある文字列を取り出す 《Right・Instr・Len》