この記事では、Access データベースのテーブル フィールドのデータ型を変更または変更する方法について説明します。
この記事の内容
データ型を理解する
データベースを最初に設計および構築するときは、1 つ以上のテーブルを計画します。 また、各テーブルのフィールド (列) を計画し、各フィールドのデータ型を設定します。 たとえば、日付と時刻を保存する必要がある場合は、フィールドを日付/時刻データ型に設定します。 名前と住所を格納する必要がある場合は、1 つ以上のフィールドを [短いテキスト] データ型に設定します。
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) に変換されます。 | |
| ハイパーリンク | 該当しない | |
| 日付/時刻拡張型 | 短いテキスト | 許可されていません。 |
| 長いテキスト | 許可されていません。 | |
| 数字 | 許可されていません。 | |
| 日時 | 小数部秒は失われ、年が日付/時刻でサポートされている範囲外である場合は、値が削除されます。 詳細については、「日付/時刻の拡張データ型の使用」を参照してください。 | |
| 通貨 | 許可されていません。 | |
| オートナンバー | 許可されていません。 | |
| はい/いいえ | 許可されていません。 | |
| ハイパーリンク | 該当しない | |
| 通貨 | 短いテキスト | テキストは、数字と有効な区切り文字から構成されている必要があります。 |
| 長いテキスト | テキストは、数字と有効な区切り文字から構成されている必要があります。 | |
| 数値 | 制限はありません。 | |
| 日付と時刻に関する数式 | 日付/時刻: 制限はありませんが、Access によって値が丸められる場合があります。 延長日時: 許可されていません。 |
|
| オートナンバー | 制限はありません。 | |
| Yes/No | 値 -1 (Yes) は、\1 に変換されます。 値 0 (No) は、0\ に変換されます。 | |
| ハイパーリンク | 該当しない | |
| オートナンバー | 短いテキスト | オートナンバー型のフィールドが主キーの場合は許可されません。 |
| 長いテキスト | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| 数値 | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| 日付と時刻に関する数式 | 日付/時刻: オートナンバー型フィールドが主キーとして機能する場合は使用できません。 延長日時: 許可されていません。 |
|
| 通貨型 | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| Yes/No 型 | オートナンバー型のフィールドが主キーの場合は許可されません。 | |
| ハイパーリンク | 該当しない | |
| Yes/No 型 | 短いテキスト | 元のテキストは、Yes、No、True、False、On、または Off からのみ構成されている必要があります。 |
| 長いテキスト | 元のテキストは、Yes、No、True、False、On、または Off からのみ構成されている必要があります。 | |
| 数値型 | 0 または Null は "No" に変換され、それ以外の値は "Yes" に変換されます。 | |
| 日付と時刻に関する数式 | 日付/時刻: Null または午前 12:00:00 は [いいえ] に変換され、その他のすべての値は Yes に変換されます。 延長日時: 許可されていません。 |
|
| 通貨 | 0 および Null は No に変換され、それ以外のすべての値は Yes に変換されます。 | |
| オートナンバー | すべての値が Yes に変換されます。 | |
| ハイパーリンク | 該当しない | |
| ハイパーリンク | 短いテキスト | 元のテキストに有効な Web アドレス (adatum.com、 www.adatum.com、http://www.adatum.com など) が含まれている場合、Access はテキストをハイパーリンクに変換します。 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:// が追加されます。 結果のリンクは機能しません。 |