この記事では、Access データベースのテーブル フィールドのデータ型を変更または変更する方法について説明します。
この記事の内容
データ型を理解する
最初にデータベースを設計して構築するときは、1 つ以上のテーブルを計画します。 また、各テーブルのフィールド (列) を計画し、各フィールドのデータ型を設定します。 たとえば、日付と時刻を格納する必要がある場合は、フィールドを Date/Time データ型に設定します。 名前とアドレスを格納する必要がある場合は、1 つ以上のフィールドを Short Text データ型に設定します。
Access にはさまざまなデータ型が用意されており、各型には特定の目的があります。 さまざまな Access バージョンでサポートされるデータ型すべての完全なリストについては、「Access デスクトップ データベースのデータ型」および「データ型とフィールド プロパティの概要」を参照してください。
ルックアップ フィールドの作成と使用の詳細については、複数値フィールドの 作成または削除に関する記事を参照してください。
最後に、データ型は、ユーザーがテーブル フィールドに正しい種類のデータを入力するのに役立つため、基本的なデータ検証を提供します。 たとえば、数値のみを受け入れるフィールドにテキストを入力することはできません。
データ型を変更する
これらの手順を実行する前に、データ型を変更すると、フィールド内のデータの一部またはすべてを切り捨てる (切断) 可能性があることに注意してください。 場合によっては、データを完全に削除することがあります。 データ型を変更するときに Access がデータを変更する方法については、この記事の後半の「 データ型の変更に関する制限事項 」を参照してください。
注
Access では、データシート ビューまたはデザイン ビューで作業することで、テーブル フィールドのデータ型を設定できます。 このセクションの手順では、両方のビューでデータ型を設定する方法について説明します。 デザイン ビューでデータ型を設定するときには、[ルックアップ ウィザード] という追加の選択肢が表示されます。 この選択肢は、実際はデータ型ではありません。 ルックアップ ウィザードは、外部キー フィールドを他のテーブルにリンクするルックアップ フィールドを作成するために使用します。 既定では、ルックアップ フィールドは数値型に設定されます。
データシート ビューでデータ型を設定する
- ナビゲーション ウィンドウで、変更するテーブルを見つけてダブルクリックします。 テーブルがデータシート ビューに表示されます。
- 変更するフィールド (列) を選択します。
- [ テーブル フィールド] タブの [ プロパティ ] グループで、[ データ型] の横にあるドロップダウン リストの矢印をクリックし、目的のデータ型を選択します。
- 変更内容を保存します。
デザイン ビューでデータ型を変更する
- データシート ビューでテーブルを開いている場合は、テーブルのドキュメント タブを右クリックし、[デザイン ビュー] をクリックします。 または、テーブルを開いていなくても、ナビゲーション ウィンドウで、変更するテーブルを右クリックし、ショートカット メニューの [ デザイン ビュー ] をクリックします。
- 変更するフィールドを見つけて、[データ型] 列で新しい データ型 を選択します。
- 変更内容を保存します。
データ型を変更する場合の制限事項
原則として、次のフィールドを除くすべてのフィールドのデータ型を変更できます。
- [レプリケーション ID 型] プロパティが有効になっている数値型フィールド
- OLE オブジェクト型フィールド
- 添付ファイル型フィールド
さらに、フィールドにデータが含まれているときにもほとんどのデータ型を変更できます。 ただし、元のデータ型と新しく使用するデータ型によっては、一部のデータが切り詰めまたは削除されたり、変換を行うことができない場合があります。
次の表に、Access で実行できるデータ型変換の一覧と、Access によって課される可能性がある制限について説明します。
| 変換先のデータ型 | 変換元のデータ型 | 変更点または制限 |
|---|---|---|
| 短いテキスト | 長いテキスト | 先頭の 255 文字以外の文字はすべて削除されます。 |
| 数値型 | 制限はありません。 | |
| 日付と時刻に関する数式 | 日付/時刻に制限はありません。 日付/時刻の延長は許可されません。 |
|
| 通貨型 | 制限はありません。 | |
| オートナンバー型 | 制限はありません。 | |
| Yes/No | 値 -1 (Yes/No 型フィールドの "Yes") は、"Yes" に変換されます。 値 0 (Yes/No 型フィールドの "No") は、"No" に変換されます。 | |
| ハイパーリンク | 255 文字を超えるリンクは切り詰められます。 | |
| 長いテキスト | 短いテキスト | 制限はありません。 |
| 数値型 | 制限はありません。 | |
| 日付と時刻に関する数式 | 日付/時刻に制限はありません。 日付/時刻の延長は許可されません。 |
|
| 通貨型 | 制限はありません。 | |
| オートナンバー型 | 制限はありません。 | |
| Yes/No | 値 -1 (Yes/No 型フィールドの "Yes") は、"Yes" に変換されます。 値 0 (Yes/No 型フィールドの "No") は、"No" に変換されます。 | |
| ハイパーリンク | 制限はありません。 | |
| 数値型 | 短いテキスト | 短いテキストは、数値と有効な通貨と小数点で構成されている必要があります。 [短いテキスト] フィールドの文字数は、[数値] フィールドに設定されたサイズに収まる必要があります。 数値フィールドのサイズの詳細については、「数値 フィールドまたは通貨フィールドを作成または削除する」を参照してください。 |
| 長いテキスト | [長いテキスト] フィールドには、テキストと有効な通貨と小数点のみを含める必要があります。 [長いテキスト] フィールドの文字数は、[数値] フィールドのサイズ セット内に収まる必要があります。 数値フィールドのサイズの詳細については、「数値 フィールドまたは通貨フィールドを作成または削除する」を参照してください。 |
|
| 異なるフィールド サイズまたは精度を持つ数値型 | 値は、新しいフィールドで格納できるサイズを超えたり下回ったりすることはできません。 精度を変更すると、値が丸められる可能性があります。 | |
| 日付と時刻に関する数式 | 日付/時刻: 変換できる日付は、数値型フィールドのサイズにより異なります。 Access では、すべての日付はシリアル日付として格納され、日付値は倍精度浮動小数点整数として格納されます。 Access では、1899 年 12 月 30 日が日付 0 として使用されます。 1899 年 4 月 18 日 ~ 1900 年 9 月 11 日の範囲外の日付は、バイト型フィールドのサイズを超えます。 1810 年 4 月 13 日 ~ 1989 年 9 月 16 日の範囲外の日付は、整数型フィールドのサイズを超えます。 考えられるすべての日付に対応させるためには、数値型フィールドの "フィールド サイズ" プロパティを [長整数型] に設定するか、またはこれよりも大きな値に設定します。 シリアル日付と Access による日付値の使用方法と格納方法の詳細については、 日付と時刻フィールドの書式設定に関する記事を参照してください。 日付/時刻の延長: 許可されていません。 |
|
| 通貨 | 値は、フィールドに設定されたサイズ制限を超えたり下回ったりすることはできません。 たとえば、値が 255 よりも大きく 32,767 を超えない場合にだけ、通貨型フィールドを整数型フィールドに変換できます。 | |
| オートナンバー | 値は、フィールドに設定されたサイズ制限内に収まっている必要があります。 | |
| Yes/No 型 | "Yes" 値は、-1 に変換されます。 "いいえ" 値は、0 に変換されます。 | |
| ハイパーリンク | 該当しない | |
| 日付/時刻 | 短いテキスト | 元のテキストは、認識可能な日付または日付と時刻の組み合わせである必要があります。 たとえば、2006 年 1 月 18 日。 |
| 長いテキスト | 元のテキストは、認識可能な日付または日付と時刻の組み合わせである必要があります。 たとえば、2006 年 1 月 18 日。 | |
| 数値 | 値は、-657,434 ~ 2,958,465.99998843 の範囲内の値である必要があります。 | |
| 日付/時刻拡張型 | 制限はありません。 | |
| 通貨型 | 値は、-\657,434 ~ \2,958,465.9999 の範囲内の値である必要があります。 | |
| オートナンバー型 | 値は、-657,434 よりも大きく、2,958,466 よりも小さい値である必要があります。 | |
| Yes/No | 値 -1 (Yes) は、1899 年 12 月 29 日に変換されます。 値 0 (No) は、午前 0 時 (12:00 AM) に変換されます。 | |
| ハイパーリンク | 該当しない | |
| 日付/時刻拡張型 | 短いテキスト | 許可されていません。 |
| 長いテキスト | 許可されていません。 | |
| 数字 | 許可されていません。 | |
| 日時 | 秒の小数部は失われ、年が Date/Time でサポートされている範囲外の場合、値は削除されます。 詳細については、「日付/時刻拡張データ型の使用」を参照してください。 | |
| 通貨 | 許可されていません。 | |
| オートナンバー | 許可されていません。 | |
| はい/いいえ | 許可されていません。 | |
| ハイパーリンク | 該当しない | |
| 通貨 | 短いテキスト | テキストは、数字と有効な区切り文字から構成されている必要があります。 |
| 長いテキスト | テキストは、数字と有効な区切り文字から構成されている必要があります。 | |
| 数値 | 制限はありません。 | |
| 日付と時刻に関する数式 | 日付/時刻: 制限はありませんが、Access で値を丸める場合があります。 日付/時刻拡張: 許可されていません。 |
|
| オートナンバー | 制限はありません。 | |
| Yes/No | 値 -1 (Yes) は、\1 に変換されます。 値 0 (No) は、0\ に変換されます。 | |
| ハイパーリンク | 該当しない | |
| オートナンバー | 短いテキスト | オートナンバー型のフィールドが主キーの場合は許可されません。 |
| 長いテキスト | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| 数値 | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| 日付と時刻に関する数式 | 日付/時刻: AutoNumber フィールドが主キーとして機能する場合は許可されません。 日付/時刻拡張: 許可されていません。 |
|
| 通貨型 | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| Yes/No 型 | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| ハイパーリンク | 該当しない | |
| Yes/No 型 | 短いテキスト | 元のテキストは、Yes、No、True、False、On、または Off からのみ構成されている必要があります。 |
| 長いテキスト | 元のテキストは、Yes、No、True、False、On、または Off からのみ構成されている必要があります。 | |
| 数値型 | 0 または Null は "No" に変換され、それ以外の値は "Yes" に変換されます。 | |
| 日付と時刻に関する数式 | 日付/時刻: Null または 12:00:00 AM は No に変換され、他のすべての値は Yes に変換されます。 日付/時刻拡張: 許可されていません。 |
|
| 通貨 | 0 および Null は No に変換され、それ以外のすべての値は Yes に変換されます。 | |
| オートナンバー | Access では、すべての値が [はい] に変換されます。 | |
| ハイパーリンク | 該当しない | |
| ハイパーリンク | 短いテキスト | 元のテキストに、adatum.com、 www.adatum.com、http://www.adatum.com などの有効な Web アドレスが含まれている場合、Access はテキストをハイパーリンクに変換します。 アクセスは、下線付きのテキストが表示されることを意味する他の値の変換を試み、リンクをポイントするとマウス カーソルが変更されますが、リンクは機能しません。 テキストには、http://、gopher://、telnet://、ftp://、wais:// など、任意の有効な Web プロトコルを含めることができます。 |
| 長いテキスト | 前の項目を参照してください。 同じ制限が適用されます。 | |
| 数値 | 数値型フィールドがリレーションシップの一部の場合は、変換できません。 元の値が有効な IP アドレス (nnn.nnn.nnn.nnn のようなピリオドで区切られた 4 つの 3 桁の数字) として有効な範囲内にあり、この数値が Web アドレスだと考えられる場合は、有効なリンクに変換されます。 それ以外の場合、Access は 各値の先頭に http:// を追加し、結果のリンクは無効になります。 | |
| 日時 | Access は各アドレスの先頭に http:// を追加しますが、結果のリンクはほとんど機能しません。 | |
| 通貨 | Access は各値の先頭に http:// を追加しますが、日付と同様に、結果のリンクはほとんど機能しません。 | |
| オートナンバー型 | オートナンバー型フィールドがリレーションシップの一部である場合は、変換できません。 Access は各値の先頭に http:// を追加しますが、結果のリンクはほとんど機能しません。 | |
| はい/いいえ | Access は、すべての Yes 値を -1 に変換し、すべての No 値を 0 に変換し、各値の先頭に http:// を追加します。 結果のリンクは機能しません。 |