「テーブルを作るとき、このフィールドに数値型と通貨型のどちらを使えばいいのか迷う」「短いテキスト型と長いテキスト型の違いが曖昧なまま設計している」「数値型を選んだはずなのに計算結果がズレる」——Accessのフィールドには11種類のデータ型が用意されており、適切なものを選ばないと後から修正が大変になります。特に、大量のレコードを入力した後でデータ型を変更すると、既存データが変換エラーで消えたり、クエリが正常に動作しなくなったりするケースがあります。テーブル設計の段階で正しいデータ型を選ぶことが、安定したAccessデータベース運用の第一歩です。
本記事では、Accessのフィールドに設定できる11種類のデータ型それぞれの特徴・用途・注意点を整理し、実務でどのように使い分けるかを解説します。数値型のフィールドサイズ7種類の比較表や、よくある選択ミスとその回避法も取り上げます。MOS Access試験の出題範囲にも含まれる内容ですので、試験対策としても活用できます。
Accessのデータ型とは
Accessのテーブルを設計するとき、各フィールドに「データ型」を設定します。データ型とは、そのフィールドに格納できるデータの種類と形式を定義するものです。たとえば「氏名」フィールドには文字列を格納するテキスト型を、「売上金額」フィールドには金額を格納する通貨型を選ぶといった具合です。
データ型を正しく選ぶことで次のメリットが得られます。
- 不正なデータの入力を防ぐ(数値型のフィールドに文字列を入力しようとするとエラーになる)
- 並べ替えや計算が正しく行われる(テキスト型で数字を格納すると「10」が「2」より前に並ぶ辞書順になる)
- 格納に必要なディスク容量を最小化できる
- クエリの条件式が正しく機能する
データ型の設定はテーブルの「デザインビュー」で行います。フィールド名を入力した列の隣にある「データ型」列をクリックすると、ドロップダウンリストで選択できます。
Accessのデータ型 一覧早見表
Access 365で選択できるデータ型は以下のとおりです。
| データ型 | 格納できるデータ | 主な用途 |
|---|---|---|
| 短いテキスト | 文字・数字・記号(最大255文字) | 氏名・住所・電話番号・コード番号 |
| 長いテキスト | 長い文章(最大数百MB) | 備考・説明文・メモ欄 |
| 数値 | 整数・小数(フィールドサイズにより異なる) | 数量・個数・スコア・外部キー |
| 大きい数値 | -2^63~2^63-1の整数 | 非常に大きな整数値、他DBとの連携 |
| 日付/時刻 | 日付と時刻 | 生年月日・申込日・納期・勤務時間 |
| 日付/時刻(拡張) | より広い日付範囲と精度 | SQL Server DateTimeOffset連携用途 |
| 通貨 | 金額(小数点以下4桁まで) | 価格・売上・費用・給与 |
| オートナンバー | 自動採番された整数 | 主キー(ID番号の自動割り当て) |
| Yes/No | Yes/No・True/False・On/Off | 会員フラグ・有効/無効・チェック項目 |
| OLEオブジェクト | ExcelシートやWord文書などのOLEオブジェクト | 旧形式のファイル埋め込み(非推奨) |
| ハイパーリンク | URL・ファイルパス・メールアドレス | 関連ページへのリンク・ファイル参照 |
| 添付ファイル | 画像・文書など複数ファイル | 写真・証明書・仕様書の添付 |
| 計算 | 式による計算結果 | 合計・日数差など演算値の保存 |
以下では、実務で特によく使う6つのデータ型と、使い方に注意が必要なデータ型について詳しく解説します。
短いテキスト型(Short Text)
短いテキスト型は、文字・数字・記号を格納するための最も基本的なデータ型です。1フィールドあたり最大255文字まで格納できます。Access 2013以前のバージョンでは「テキスト型」と呼ばれていましたが、Access 2013以降で「短いテキスト型」に名称が変わりました。
主な用途
- 氏名・会社名・住所・都道府県
- 商品名・カテゴリ名
- 電話番号・郵便番号・社員番号・製品コード
注意点:数字でも短いテキスト型を使うケース
「数字が含まれているから数値型にする」という判断は必ずしも正しくありません。計算に使わない番号はテキスト型で格納します。
| フィールド | 適切なデータ型 | 理由 |
|---|---|---|
| 郵便番号(123-4567) | 短いテキスト型 | ハイフンが含まれる・計算しない |
| 電話番号(03-1234-5678) | 短いテキスト型 | ハイフンが含まれる・計算しない |
| 社員番号(E001) | 短いテキスト型 | 英字と数字が混在・計算しない |
| 在庫数(整数) | 数値型 | 合計・比較などの計算に使う |
テキスト型に数値を格納すると、並べ替えが辞書順(文字列順)になります。これは想定例として「1」「2」「10」「20」という数値がある場合、テキスト型では「1」「10」「2」「20」の順に並んでしまうことを意味します。計算や数値順の並べ替えが必要なフィールドは必ず数値型を使いましょう。
フィールドサイズの設定
デザインビューの「フィールドサイズ」プロパティで格納できる最大文字数を指定します(既定値は255)。氏名なら50、都道府県なら10など、格納するデータの最大文字数に合わせて設定することで、入力ミス(想定より長いデータの誤入力)を防ぐことができます。
長いテキスト型(Long Text)
長いテキスト型は、255文字を超える長い文章を格納するためのデータ型です。Access 2013以前では「メモ型」と呼ばれていました。備考欄・説明文・コメントなど、文章量が不定で長くなりうるフィールドに使います。
短いテキスト型との主な違い
| 比較項目 | 短いテキスト型 | 長いテキスト型 |
|---|---|---|
| 最大文字数 | 255文字 | 数百MB(実質上限なし) |
| 並べ替え | 可能 | 最初の255文字のみ参照(実質的に不向き) |
| クエリ条件 | 完全一致・部分一致とも利用可 | Likeによる部分一致は可、一部の集計不可 |
| リッチテキスト | 非対応 | 対応(太字・色付き文字のHTML書式) |
| インデックス設定 | 可能 | 不可 |
長いテキスト型はクエリでの並べ替えやインデックス設定ができないため、「並べ替えや検索に頻繁に使うフィールド」には向きません。短い文章であっても、並べ替えや検索の対象になるフィールドは短いテキスト型を使う方がパフォーマンス面で有利です。
数値型(Number)とフィールドサイズ7種類
数値型は、計算に使う数値を格納するためのデータ型です。数値型では「フィールドサイズ」プロパティで7種類のサブタイプを選択できます。どのサブタイプを選ぶかによって格納できる値の範囲・精度・ディスク使用量が変わります。
| フィールドサイズ | 格納できる値の範囲 | 小数 | サイズ | 主な用途 |
|---|---|---|---|---|
| バイト型 | 0~255の整数 | なし | 1バイト | 0~100の評価スコア、少量の整数 |
| 整数型 | -32,768~32,767 | なし | 2バイト | 年齢・月の件数など小さな整数 |
| 長整数型 | -2,147,483,648~2,147,483,647 | なし | 4バイト | 主キーへの参照(外部キー)、大きな整数 |
| 単精度浮動小数点型 | ±3.4×10^38(有効桁7桁) | あり | 4バイト | 精度をあまり必要としない小数 |
| 倍精度浮動小数点型 | ±1.8×10^308(有効桁15桁) | あり | 8バイト | 科学計算・高精度が必要な小数 |
| レプリケーションID | GUID(128ビット一意識別子) | — | 16バイト | DB複製(レプリケーション)用途 |
| 10進数型 | -10^28~10^28(スケール最大28桁) | あり | 12バイト | 高精度が必要な金額・率の計算 |
外部キーには長整数型を選ぶ
テーブル間のリレーションシップで参照する外部キーフィールドは、参照先テーブルの主キーと同じデータ型・フィールドサイズにする必要があります。オートナンバー型の主キー(内部的には長整数型)を参照する外部キーは、必ず「数値型・長整数型」を選択します。型が一致しないとリレーションシップを設定できません。
浮動小数点型の計算誤差に注意
単精度・倍精度浮動小数点型は2進数で値を格納するため、計算誤差が発生することがあります。金額の計算など精度が重要な場合は、通貨型か10進数型を使う方が安全です。
通貨型(Currency)
通貨型は、金額データを正確に格納・計算するために設計されたデータ型です。小数点以下4桁まで格納でき、整数部は最大15桁です。
数値型(倍精度)との違い
倍精度浮動小数点型は計算誤差が生じる場合があります。通貨型は固定小数点方式で格納されるため、浮動小数点特有の丸め誤差が発生しにくく、金額計算の信頼性が高いです。
想定例:商品単価と数量を掛け合わせて合計金額を求める場合、単価フィールドに通貨型を使うことで、多数のレコードを集計しても計算ずれが起きにくくなります(倍精度型では微小な誤差が積み重なることがある)。
表示書式
通貨型の「書式」プロパティで「通貨」を選ぶと、自動的に「¥1,234」のように円記号とカンマ区切りで表示されます。書式はあくまで表示上の設定であり、格納される数値自体は変わりません。
日付/時刻型(Date/Time)
日付/時刻型は、日付・時刻・または日付と時刻の両方を格納するためのデータ型です。内部的にはシリアル値(浮動小数点数)で格納されており、Excelの日付シリアル値と互換性があります。
主な用途
- 生年月日・入社日・契約開始日・契約終了日
- 申込日時・更新日時
- 勤務開始時刻・退勤時刻
日付型の比較と計算
日付/時刻型のフィールドはクエリで日付の大小比較や期間の計算ができます。クエリの条件式では日付を # で囲みます(例:#2026/01/01#以降のレコードを抽出する場合、条件に >=#2026/01/01# と記述します)。
AccessのDateDiff関数を使うと、2つの日付の差(日数・月数・年数)を計算できます。この関数はクエリの演算フィールドやフォームの計算コントロールでよく使われます。
テキスト型で日付を格納するよくあるミス
日付をテキスト型(「2026/10/29」という文字列)で格納しているデータベースを見かけることがあります。テキスト型で日付を格納すると、日付の大小比較が正しく行えない(辞書順での比較になる)・DateDiff関数が使えない・クエリで「今月のレコードだけ抽出」といった日付条件が使えないなどの問題が発生します。日付データは必ず日付/時刻型で格納します。
Yes/No型(Yes/No)
Yes/No型はTrue(はい)またはFalse(いいえ)の2値しか持たない論理型のデータ型です。フォームではデフォルトでチェックボックスとして表示されます。
主な用途
- 会員フラグ(会員か否か)
- 有効フラグ(有効/無効)
- 支払い済みフラグ
- 配信承諾フラグ(メールを受け取るか否か)
クエリでの使い方
Yes/No型フィールドをクエリ条件に使うときは、条件欄に「True」(またはYes・-1)と入力するとTrue(チェック済み)のレコードだけを抽出できます。「False」(またはNo・0)はFalseのレコードを抽出します。
オートナンバー型(AutoNumber)
オートナンバー型は、新しいレコードを追加するたびに自動的に一意の整数が割り当てられるデータ型です。主キーとして使うことが多く、テーブルウィザードで自動作成される主キーはオートナンバー型で設定されます。
特徴と注意点
- 既定では1から始まり、1ずつ増加する整数が自動割り当てされる
- 一度割り当てられた番号はレコードを削除しても再利用されない(欠番が生じる)
- 内部的には「長整数型」と同じサイズで格納される
- 他のテーブルからオートナンバー型主キーを参照する外部キーは「数値型・長整数型」で定義する
- 値を手動で変更することはできない
添付ファイル型(Attachment)
添付ファイル型は、1つのフィールドに複数のファイル(画像・PDF・Word文書など)を添付できるデータ型です。Access 2007以降で使用できます。OLEオブジェクト型に比べてファイルサイズが小さく格納されるため、現代的なファイル添付には添付ファイル型を使うことが推奨されています。
ただし、添付ファイル型のフィールドには以下の制限があります。
- 1テーブルに設定できる添付ファイル型フィールドは1つのみ
- 1レコードに添付できるファイルの合計サイズには上限がある
- 添付ファイルを格納するとデータベースファイルのサイズが増大する
- Accessのテーブル分割(フロントエンド/バックエンド)を使う場合、添付ファイルはバックエンドに保存される
ハイパーリンク型(Hyperlink)
ハイパーリンク型は、URL・ファイルパス・メールアドレスなどのリンク情報を格納するデータ型です。データシートビューやフォームビューでフィールド値をクリックするとブラウザやアプリケーションが起動します。
ハイパーリンク型の値は「表示テキスト#URL#サブアドレス」という形式で内部格納されます。クエリでのテキスト処理が短いテキスト型より複雑になるため、URLを条件検索や集計に使う場合は短いテキスト型の方が扱いやすいケースがあります。
計算型(Calculated)
計算型はAccess 2010以降で使えるデータ型で、テーブル内で他のフィールドを使った式の計算結果を格納します。たとえば「単価フィールド × 数量フィールド」の結果を格納する小計フィールドに使えます。
ただし、計算型フィールドは「テーブルに計算ロジックが埋め込まれる」という点でクエリの演算フィールドとは設計思想が異なります。一般的には、クエリで演算フィールドを定義する方が柔軟性が高く、データの正規化の観点からも推奨されるケースが多くあります。
データ型の選び方チェックリスト
フィールドを設計するときに、次の順序で確認すると適切なデータ型を選びやすくなります。
- 文字が含まれるか?→ 含まれる場合は短いテキスト型(255文字以内)または長いテキスト型(長文)
- 数値だが計算しないか?(郵便番号・電話番号・コード番号)→ 短いテキスト型
- 計算に使う数値か?→ 数値型(小数がない整数は長整数型、金額は通貨型)
- 金額か?→ 通貨型(浮動小数点の誤差を避けるため)
- 日付・時刻か?→ 日付/時刻型
- 2択の状態(あり/なし)か?→ Yes/No型
- 自動採番のIDか?→ オートナンバー型(主キーに使用)
- 外部キーか?→ 数値型・長整数型(参照先オートナンバー型主キーに合わせる)
よくある選択ミスと対処法
ミス1:金額フィールドに倍精度浮動小数点型を使う
浮動小数点型は2進数で格納するため、10進数の小数(0.1など)を正確に表現できない場合があります。集計を繰り返すと微小な誤差が積み重なることがあります。金額フィールドには通貨型または10進数型を使いましょう。
ミス2:日付をテキスト型で格納する
「2026/10/29」という文字列をテキスト型で保存すると、日付の大小比較が文字列の辞書順になり、「10月」が「9月」より前に並ぶなど想定外の結果になります。日付データは必ず日付/時刻型で格納します。
ミス3:外部キーのフィールドサイズを主キーと揃えない
親テーブルの主キーが「オートナンバー型(内部:長整数型)」なのに、子テーブルの外部キーを「整数型」にするとリレーションシップを設定できません。外部キーは参照先の主キーと同じフィールドサイズ(通常は長整数型)に設定します。
ミス4:長いテキスト型フィールドで並べ替えをする
長いテキスト型フィールドは並べ替えに対応していません(255文字以降が無視されるか、エラーになる)。並べ替えや検索に使うフィールドは短いテキスト型で設計します。
ミス5:後からデータ型を変更してデータが失われる
テキスト型から数値型へ、数値型から日付型へなど、互換性のない変換を行うとデータが削除されたり変換エラーが発生したりすることがあります。大量のレコードが格納された後のデータ型変更は特に危険です。設計の段階で正しいデータ型を選ぶことが重要です。変更が必要な場合は必ずバックアップを取ってから作業します。
MOS Access試験でのデータ型の出題ポイント
MOS Access試験では、テーブルのデザインビューでフィールドのデータ型を設定・変更する操作が出題範囲に含まれています。出題範囲に含まれます。分野別の出題数・配点は公表されていません。
試験対策として特に押さえておきたいポイントを以下にまとめます。
- デザインビューでフィールドのデータ型をドロップダウンリストから選択できる
- 数値型のフィールドサイズプロパティで「長整数型」「整数型」「バイト型」などを区別できる
- オートナンバー型は手動入力できず、新規レコード保存時に自動割り当てされる
- Yes/No型はフォームでチェックボックスコントロールとして表示される
- 外部キーは参照先の主キーと同じデータ型・フィールドサイズに設定する必要がある
- 長いテキスト型(旧メモ型)はインデックスを設定できない
MOS Access試験の学習時間の目安は公式には公表されていません。PCでのAccess操作に慣れていない方は、実際に手を動かしてテーブル設計・クエリ・フォームを繰り返し操作しながら学習することが効果的です。
よくある質問(FAQ)
Q. 後からデータ型を変更できますか?
A. デザインビューでデータ型を変更することはできますが、すでにデータが格納されている場合は注意が必要です。互換性のない変換(テキスト型→数値型など)では変換できないデータが削除される可能性があります。変更前には必ずデータベースのバックアップを取ります。
Q. 「大きい数値」型はいつ使いますか?
A. 「大きい数値型(BigInt)」はAccess 2016以降で利用でき、-2の63乗~2の63乗-1という非常に大きな整数を格納できます。通常の業務で必要になることは少なく、主にSQL ServerやAzure SQLのBigInt型カラムとリンクテーブルで接続するときに一致させる目的で使います。
Q. 数値型に小数を格納するには?
A. フィールドサイズを「単精度浮動小数点型」「倍精度浮動小数点型」または「10進数型」に設定します。金額などの正確な小数計算には通貨型または10進数型が推奨されます。
Q. OLEオブジェクト型と添付ファイル型はどう違いますか?
A. OLEオブジェクト型は古い技術(OLEリンク)を使ってファイルを埋め込むため、ファイルサイズが膨大になりやすく、現代のAccessでは推奨されていません。添付ファイル型は圧縮形式でファイルを格納でき、1フィールドに複数ファイルを添付できる点が異なります。新規設計では添付ファイル型を選びましょう。
Q. テキスト型フィールドに数字だけを格納しています。問題はありますか?
A. 計算に使わない番号(社員番号・製品コードなど)はテキスト型のままで問題ありません。ただし、SUM・AVGなどの集計計算はできません。また、数値の大小比較による並べ替えが辞書順になるため、「10」が「9」より前に並ぶといった挙動が起きます。数値として集計・比較するなら数値型に変更することを検討します。
PR
Microsoft Copilot for Microsoft 365活用大全
Excel・Word・PowerPoint・AccessをはじめとするMicrosoft 365全体の活用法を体系的に解説した一冊。AIアシスタントを活用してOfficeの生産性を高めたい方に適した内容で、データベース設計からドキュメント作成まで幅広くカバーしています。
まとめ
本記事では、Accessのフィールドに設定できる11種類のデータ型の特徴・用途・注意点を解説しました。要点を整理します。
- 短いテキスト型:文字列・計算しない番号(最大255文字)
- 長いテキスト型:長い文章・備考欄(並べ替え・インデックス不可)
- 数値型:計算に使う数値(フィールドサイズで精度・範囲を制御)
- 通貨型:金額(浮動小数点誤差を防ぐ固定小数点方式)
- 日付/時刻型:日付・時刻データ(文字列で代替しない)
- Yes/No型:2値の状態フラグ(フォームでチェックボックス表示)
- オートナンバー型:主キーの自動採番(外部キーは長整数型で合わせる)
データ型の選択は、Accessデータベースの設計段階で最も重要な判断の一つです。「計算するか否か」「文字が含まれるか」「金額か」といった基準で選択し、後から変更が発生しないよう丁寧に設計しましょう。MOS Access試験の対策としても、デザインビューでの操作を繰り返し練習することをおすすめします。
関連記事:「Access テーブル設計の基本」「Accessのフィールドプロパティと入力規則で入力ミスを防ぐ」もあわせてご覧ください。
