朝会発表テーマ

Accessの大きい数値型について

数値フィールドのフィールドサイズ

  • [バイト型]:0~255の整数に使用します。1バイトの記憶域が使用されます。
  • [整数型]:-32,768~+32,767の整数に使用します。2バイトの記憶域が使用されます。
  • [長整数型]:-2,147,483,648~+2,147,483,647の整数に使用します。4バイトの記憶域が使用されます。
  •  [単精度浮動小数点型]:最大有効桁数が7桁の-3.4×1038~+3.4×1038の浮動小数点値に使用します。4バイトの記憶域が使用されます。
  • [倍精度浮動小数点型]:最大有効桁数が15桁の-1.797×10308~+1.797×10308の浮動小数点値に使用します。8バイトの記憶域が使用されます。
  • [レプリケーションID型]:レプリケーションに必要なGUIDを保存する場合に使用します。16バイトの記憶域が使用されます。
  •  [十進型]:-9.999…x1027~+9.999…x1027の数値に使用します。12バイトの記憶域が使用されます。

大きい数値

  • Access 2016 (16.0.7812 以降) サポートされるようになりました。
  • ODBCのSQL_BIGINTデータ型や、SQL Server の BIGINTデータ型などと互換性があります。
  • 以前の Access バージョンと下位互換性がなくなるので、使用する前に、影響を理解することが非常に重要です。

Accessで金額以外の数値データを扱う場合、フィールドのデータ型として[数値型]を選択したうえで、フィールドプロパティでフィールドのサイズを設定します。それぞれ扱うデータのサイズに応じて、バイト型、整数型、長整数型、単精度浮動小数点型、倍精度浮動小数点型、レプリケーションID型、十進型があります。Acess2016以降で、数値型に加えて、大きい数値型というデータ型がサポートされるようになりました。

参考サイト:

大きい数値データ型を使用する

Access テーブルにフィールドとして[大きい数値]を追加できます。SQL Server の bigint データ型など、対応するデータ型を使ってデータベースにリンクしたり、データベースからインポートしたりすることもできます。[大きい数値]データ型を追加するには、Access 2016 (16.0.7812 以降) が必要です。

大きい数値フィールドをテーブルに追加する

[大きい数値」データ型 (8バイト) では、[数値]データ型 (4バイト) よりもはるかに広範な計算を行うことができます。たとえば、数値データ型は -2の31乗 から 2の31乗-1 の範囲ですが、[大きい数値]データ型は -2の63乗 から 2の63乗-1 の範囲です。

[大きい数値]フィールドをテーブルに追加して、そのテーブルのデザインを保存すると、[大きい数値]データ型を効果的に使えるようになります。ただし、そのデータベースは以前の Access バージョンと下位互換性がなくなります。テーブル デザインを保存する前に、データベースの互換性を保つ必要があるときのために、警告メッセージで通知されます。

大きい数値データ型のサポートによる影響を理解する

大きい数値データ型の使用を開始する前に、Access データベースに影響を及ぼす可能性があることについて理解することが非常に重要です。

大きい数値データ型のサポートを有効にすると、これは元に戻すことができない、データベースへの永続的な変更となります。いずれの場合も、Access には、変更を加える前に警告メッセージが表示されます。

バックグラウンドでは、大きい数値データ型を有効にすると、Access 2007-2016 ファイル形式 (.accdb) から Access 2016 へのスタンプが設定されます。データベース ファイル形式のスタンプは、ファイル形式に特定の変更を加えたことを意味し、データベースのバージョンが上がりますが、それ以外の場合、ファイル形式は変更されません。Access 2013 または Access 2016 でデータベースを開こうとすると、Access では次の方法でスタンプが読み取られます。

データベースのバージョンが 16.7 より前の場合は、大きい数値データ型は有効ではなく、データベースを開くことができます。

データベースのバージョンが 16.7 以上の場合は、大きい数値データ型が有効であり、データベースは Access 2016 でのみ開くことができます。

注: 大きい数値データ型は、Access 2007-2016 ファイル形式より前の Access ファイル形式 (.mdb) では、どのような場合でもサポートされません。

コメント