文字列から日付型への変換
日付書式の変換(Format関数)
和暦・西暦の相互変換
クイック変換
よく使う日付を素早く変換できます
変換履歴(最新5件)
変換履歴はまだありません
Access日付変換とは
Microsoft Accessにおける日付変換は、データベース内の日付データを適切に管理・表示するための重要な機能です。文字列形式で保存されたデータを日付型に変換したり、日付の表示形式を変更したり、和暦と西暦を相互に変換することができます。これにより、データの一貫性を保ちながら、用途に応じた適切な形式で日付情報を扱うことが可能になります。
主な変換方法
CDate関数による変換
CDate関数は、文字列やその他のデータ型を日付型(Date型)に変換する最も基本的な関数です。日付として認識可能な文字列であれば、自動的に日付型に変換されます。時刻情報を含む文字列も処理できるため、幅広い場面で活用できます。
使用例:CDate(“2024年2月10日”) → 2024/02/10の日付型データ
DateValue関数による変換
DateValue関数は、日付を表す文字列を日付型に変換します。CDate関数との違いは、時刻情報を無視して日付部分のみを抽出する点です。年の部分が省略された場合は、現在の年が自動的に適用されます。
Format関数による書式変換
Format関数は、日付データを指定した書式の文字列に変換する最も強力で柔軟性の高い関数です。西暦・和暦の切り替え、年月日の表示順序の変更、区切り文字の指定など、あらゆる形式の日付表示が可能です。クエリやフォームで広く使用されています。
日付書式指定文字一覧
| 書式指定文字 | 説明 | 表示例 |
|---|---|---|
| yyyy | 西暦4桁 | 2024 |
| yy | 西暦2桁 | 24 |
| MM | 月2桁(01-12) | 02 |
| M | 月1桁または2桁(1-12) | 2 |
| dd | 日2桁(01-31) | 10 |
| d | 日1桁または2桁(1-31) | 10 |
| ggg | 和暦年号(平成、令和など) | 令和 |
| gg | 和暦年号略称(平、令など) | 令 |
| g | 和暦年号英字(H、R など) | R |
| e | 和暦年 | 6 |
| aaa | 曜日略称(月、火など) | 土 |
| aaaa | 曜日完全名(月曜日など) | 土曜日 |
具体的な変換例
西暦から和暦への変換
例2:Format(#2024/02/10#, “gge.M.d”) → 令6.2.10
例3:Format(#1989/01/08#, “ggge年M月d日”) → 平成1年1月8日
年月のみの抽出
例2:Format(#2024/02/10#, “yyyy年MM月”) → 2024年02月
文字列から日付型への変換
例2:“令和6年2月10日” → 文字列解析後に西暦に変換
例3:“2024-02-10” → CDate関数で直接変換可能
和暦・西暦対応表
| 和暦 | 西暦期間 | 略称 |
|---|---|---|
| 令和 | 2019年5月1日~現在 | R |
| 平成 | 1989年1月8日~2019年4月30日 | H |
| 昭和 | 1926年12月25日~1989年1月7日 | S |
| 大正 | 1912年7月30日~1926年12月24日 | T |
| 明治 | 1868年1月25日~1912年7月29日 | M |
よく使われる変換パターン
| 目的 | Format関数の書式 | 結果例 |
|---|---|---|
| 標準形式(スラッシュ区切り) | yyyy/MM/dd | 2024/02/10 |
| ハイフン区切り | yyyy-MM-dd | 2024-02-10 |
| 日本語形式 | yyyy年MM月dd日 | 2024年02月10日 |
| 和暦フル表示 | ggge年M月d日 | 令和6年2月10日 |
| 和暦簡略形式 | gge.M.d | 令6.2.10 |
| 曜日付き | yyyy年MM月dd日(aaa) | 2024年02月10日(土) |
| 年月のみ | yyyy/MM | 2024/02 |
| 月日のみ | MM/dd | 02/10 |
| 数字のみ8桁 | yyyyMMdd | 20240210 |
| アメリカ式 | MM/dd/yyyy | 02/10/2024 |
DateSerial関数の活用
DateSerial関数は、年・月・日の数値を個別に指定して日付型データを作成する関数です。文字列を分解して日付に変換する場合や、計算によって日付を生成する場合に特に有効です。
例1:DateSerial(2024, 2, 10) → 2024/02/10
例2:DateSerial(2024, 13, 1) → 2025/01/01(月が13なので翌年に)
例3:DateSerial(2024, 2, 0) → 2024/01/31(0日は前月末)
文字列形式別の変換方法
8桁数字形式(yyyyMMdd)
「20240210」のような8桁の数字形式は、Mid関数で年月日を抽出してからDateSerial関数で変換します。
和暦形式(ggge年M月d日)
「令和6年2月10日」のような和暦形式から西暦に変換する場合は、年号と年を抽出して西暦年を計算した後、DateSerial関数で変換します。
ハイフンまたはスラッシュ区切り
「2024-02-10」や「2024/02/10」のような形式は、CDate関数で直接変換できます。
日付変換の注意点
実務でよく使う変換シーン
外部データのインポート時
CSVファイルやExcelファイルから取り込んだ日付データは文字列形式のことが多いため、CDate関数やDateValue関数で日付型に変換してからテーブルに格納します。
レポート作成時
レポートで日付を表示する際、Format関数を使って「令和6年2月10日」のような読みやすい形式に変換します。特に公文書や請求書では和暦表示が求められることが多いです。
クエリでの集計時
年月単位で集計する場合、Format関数を使って「yyyy/MM」形式に変換してからグループ化します。これにより月次レポートの作成が容易になります。
データ検証時
入力された文字列が有効な日付かどうかをIsDate関数で検証してから、CDate関数で変換します。これにより不正なデータの登録を防ぎます。
よくある質問(FAQ)
参考情報
参考文献
- Microsoft Corporation. (2018). 日付と時刻のフィールドを書式設定する. Microsoft Support. https://support.microsoft.com/ja-jp/office/
- たすけてACCESS. (2022). ACCESS 日付を表すデータを文字列から日付型に変換する方法. https://tasukete-access.com/
- たすけてACCESS. (2021). ACCESS Format関数で日付を変換する方法. https://tasukete-access.com/
- できるネット. (n.d.). Accessの「Format」関数でデータの表示形式を変換する方法. https://dekiru.net/
- ITmedia エンタープライズ. (2015). IsDate、DateValue、DateSerial、DateAdd、DateDiffの使い方. https://atmarkit.itmedia.co.jp/
