【Access】Format関数で日付を任意の形式に変換する方法

Accessで日付を扱うとき表示形式や文字列への変換に悩んだことはありませんか?
AccessのFormat関数を使えば、日付を自由に任意の形式に変換することができます。
この記事では、Format関数を使って日付を任意の形式に変換する方法について解説します。
- Format関数の基本構文と使い方
- 日付・時刻の書式の意味
- 実務で使える日付フォーマット例
- Format関数の注意点
Format関数の基本構文
Format関数とは、数値や日付などのデータを指定した形式で表示するための関数です。
日付の表示形式を変更したい場合などに使用します。
基本構文
Format関数の基本構文は次の通りです。
Format(値, 書式)引数の説明
- 値:数値・日付・文字列など変換したい対象
- 書式:表示形式を指定する文字列
使用例
実際に日付を変換するFormat関数の使用例を紹介します。
Format(Date(), "yyyy/mm/dd")実行結果
2026/03/28日付を任意の形式に変換する方法
Format関数ではyyyyやmmなどの書式を組み合わせることで、日付を任意の形式に変換できます。
主な書式の意味は以下の通りです。
日付の書式
日付を表す基本的な書式は以下の通りです。
| 書式 | 内容 | 出力例 |
|---|---|---|
| yyyy | 西暦(4桁) | 2026 |
| mm | 月(2桁・ゼロ埋めあり) | 04 |
| m | 月(ゼロ埋めなし) | 4 |
| dd | 日(2桁・ゼロ埋めあり) | 02 |
| d | 日(ゼロ埋めなし) | 2 |
時刻の書式
時刻を表示する場合は以下の書式を使用します。
| 書式 | 内容 | 出力例 |
|---|---|---|
| hh | 時(2桁・ゼロ埋めあり) | 09 |
| h | 時(ゼロ埋めなし) | 9 |
| nn | 分(2桁・ゼロ埋めあり) | 05 |
| n | 分(ゼロ埋めなし) | 5 |
| ss | 秒(2桁・ゼロ埋めあり) | 08 |
| s | 秒(ゼロ埋めなし) | 8 |
和暦の表示
和暦で表示したい場合は以下の書式を使用します。
| 書式 | 内容 | 出力例 |
|---|---|---|
| gg | 元号(アルファベット) | R |
| ggg | 元号(正式) | 令和 |
| e | 元号の年 | 8 |
注意
和暦の表示はWindowsの地域設定や環境によって結果が異なる場合があります。
実務で使える日付フォーマット例
日本語形式の日付表示
Format(Date(), "yyyy年m月d日")出力例
2026年4月2日ユーザー向けの画面表示や帳票などでよく使用されるフォーマットです。
Date()は現在の日付を取得する関数です。
和暦での日付表示
Format(Date(), "ggge年m月d日")出力例
令和8年4月2日和暦で日付を表示したい場合に使用されるフォーマットです。
フォーム入力の日付をDBに登録する
Format(Me.日付フィールド, "yyyy-mm-dd")出力例
2026-04-02データベースやCSVではyyyy-mm-ddの形式がよく使用されます。
注意
Me.日付フィールドはフォーム上のコントロール名に置き換えてください。
現在時刻を表示する
現在時刻を表示するにはNow関数とFormat関数を組み合わせて使用します。
Format(Now(), "hh:nn:ss")出力例
09:05:08現在の時刻を「時:分:秒」の形式で表示できます。
Now()は現在の日付と時刻を取得する関数です。
Format(Now(), "yyyy/mm/dd hh:nn:ss")出力例
2026/04/02 09:05:08yyyy/mm/ddでの書式と組み合わせることもできます。
この書式はログや履歴管理でよく使用される形式です。
応用編:実務で使えるサンプルコード
ファイル名に日付を付ける
Dim fileName As String
fileName = "売上データ_" & Format(Date(), "yyyymmdd") & ".csv"
MsgBox fileName出力例
売上データ_20260402.csvレコード登録時に日時を保存
Dim sql As String
sql = "INSERT INTO 売上 (登録日時) VALUES ('" & Format(Now(), "yyyy-mm-dd hh:nn:ss") & "')"
CurrentDb.Execute sqlFormat関数の注意点
文字列として扱われる
Format関数の戻り値は文字列(String)です。
Format(Date(), "yyyy/mm/dd")見た目は日付でも中身は文字列のため、並び替えや比較を行う際には意図しない結果になる場合があります。
月(mm)と分(nn)の混同
分(minute)を表す場合、Accessでは「mm」ではなく「nn」を使用します。
NGな例
Format(Now(), "hh:mm")正しい例
Format(Now(), "hh:nn")まとめ
今回はFormat関数を使って日付を任意の形式に変換する方法について解説しました。
Format関数を活用することで日付の表示形式を変更でき、画面表示やデータ連携など多くの場面で役立ちます。
用途に応じて適切なフォーマットを使い分けることでデータの可読性などを向上させることができます。
コメント