この記事では、Access データベースのテーブルのフィールドに適用されているデータ型を変更する方法について説明します。
この記事の内容
データ型を理解する
データベースを初めてデザインして構築する場合は、1 つ以上のテーブルにフィールド (列) を計画し、それぞれのフィールドにデータ型を設定します。 たとえば、日付と時刻を格納する必要がある場合は、フィールドを日付/時刻データ型に設定します。 名前とアドレスを格納する必要がある場合は、1 つ以上のフィールドを Short Text データ型に設定します。
Access には、それぞれ特定の目的を持つ多くの異なるデータ型が用意されています。 さまざまな Access バージョンでサポートされるデータ型すべての完全なリストについては、「Access デスクトップ データベースのデータ型」および「データ型とフィールド プロパティの概要」を参照してください。
ルックアップ フィールドの作成と使用の詳細については、複数値フィールドの 作成または削除に関する記事を参照してください。
最後に、データ型は、ユーザーが適切な種類のデータをテーブルのフィールドに入力する手助けとなるので、データの入力規則の基本形式を提供します。 たとえば、数字だけを受け付けるように設定されたフィールドにはテキストを入力できません。
データ型を変更する
次の手順どおりに行う前に、データ型を変更するとフィールド内のデータの一部またはすべてで切り詰め (切り捨て) が発生したり、場合によってはデータが完全に削除されたりする可能性があることに注意してください。 データ型を変更するとどのようにデータが変更されるかについては、以降の「データ型を変更する場合の制限事項」セクションを参照してください。
注: Access では、データシート ビューまたはデザイン ビューで作業するとテーブルのフィールドのデータ型を設定できます。 このセクションの手順では、両方のビューでデータ型を設定する方法について説明します。 デザイン ビューでデータ型を設定するときには、[ルックアップ ウィザード] という追加の選択肢が表示されます。 この選択肢は、実際はデータ型ではありません。 ルックアップ ウィザードは、外部キー フィールドを他のテーブルにリンクするルックアップ フィールドを作成するために使用します。 既定では、ルックアップ フィールドは数値型に設定されます。
データシート ビューでデータ型を設定する
-
ナビゲーション ウィンドウで、変更するテーブルを見つけてダブルクリックします。
テーブルがデータシート ビューに表示されます。
-
変更するフィールド (列) を選びます。
-
[ テーブル フィールド] タブの [ プロパティ ] グループで、[ データ型] の横にあるドロップダウン リストの矢印をクリックし、データ型を選択します。
-
変更内容を保存します。
デザイン ビューでデータ型を変更する
-
データシート ビューでテーブルを開いている場合は、テーブルのドキュメント タブを右クリックし、[デザイン ビュー] をクリックします。
または
テーブルを開いていない場合は、ナビゲーション ウィンドウで、変更するテーブルを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。
-
変更するフィールドを見つけ、[データ型] 列の一覧から新しいデータ型を選びます。
-
変更内容を保存します。
データ型を変更する場合の制限事項
原則として、次のフィールドを除くすべてのフィールドのデータ型を変更できます。
-
[レプリケーション ID 型] プロパティが有効になっている数値型フィールド
-
OLE オブジェクト型フィールド
-
添付ファイル型フィールド
さらに、フィールドにデータが含まれているときにもほとんどのデータ型を変更できます。 ただし、元のデータ型と新しく使用するデータ型によっては、一部のデータが切り詰めまたは削除されたり、変換を行うことができない場合があります。
次の表に、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 に変換されます。 |
|
オートナンバー |
すべての値が Yes に変換されます。 |
|
ハイパーリンク |
該当しない |
|
ハイパーリンク |
短いテキスト |
元のテキストに、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 アドレスだと考えられる場合は、有効なリンクに変換されます。 そうでない場合は、それぞれの値の先頭に "http://" が付加されますが、結果のリンクは有効ではありません。 |
|
日付/時刻型 |
それぞれのアドレスの先頭に "http://" が付加されますが、ほとんどの場合、結果のリンクは機能しません。 |
|
通貨型 |
それぞれの値の先頭に "http://" が付加されますが、日付と同様に、ほとんどの場合、結果のリンクは機能しません。 |
|
オートナンバー型 |
オートナンバー型フィールドがリレーションシップの一部である場合は、変換できません。 それぞれの値の先頭に "http://" が付加されますが、ほとんどの場合、結果のリンクは機能しません。 |
|
Yes/No 型 |
すべての Yes 値が -1 に、No 値が 0 に変換され、それぞれの値の前に "http://" が付加されます。 結果のリンクは機能しません。 |