大きい数値データ型は非金銭の数値として保存され、ODBC の SQL_BIGINT データ型と互換性があります。 このデータ型を使用して、大きい数値を効率的に計算します。
Access テーブルにフィールドとして大きい数値を追加できます。 SQL Server の bigint データ型など、対応するデータ型を使ってデータベースにリンクしたり、データベースからインポートしたりすることもできます。 大きい数値データ型を追加するには、Access 2016 (16.0.7812 以降) が必要です。
この記事の内容
大きい数値フィールドをテーブルに追加する
大きい数値データ型 (8 バイト) では、数値データ型 (4 バイト) よりもはるかに広範な計算を行うことができます。 たとえば、数値データ型は -2^31 から 2^31-1 の範囲ですが、大きい数値データ型は -2^63 から 2^63-1 の範囲です。 詳細については、「データ型とフィールド プロパティの概要」を参照してください。
テーブルに [大きな数値] フィールドを追加し、テーブルのデザインを保存すると、実質的に [大きい数値] データ型が有効になり、データベースは以前のバージョンの Access と互換性がなくなりました。 テーブルデザインを保存する前に、データベースの互換性を維持する必要がある場合に備えて警告メッセージが表示されます。 詳細については、「 下位互換性に関する考慮事項」を参照してください。
SQL_BIGINT データ型をサポートして外部データベースにリンクする、または外部データベースからインポートする
また、bigint データ型を使用する SQL Server データベースなど、リンクまたはインポートされたデータを効率的に使用するために、大きい数値データ型を使用することもできます。 大きい数値データ型をサポートする前に、Access では同等のデータ型が短いテキストのデータ型に変換されます。
データ型に基づく主キーを含む、SQL_BIGINT データ型をサポートする ODBC ドライバーを使用すると、リンクとインポートの操作に対して有効な大きい数値データ型で、外部データ ソースにリンクしたり、外部データ ソースからインポートしたりすることができます。 たとえば、Windows にインストールされた ODBC ドライバーを使用してこれらの外部データ ソースに接続したり、大きい数値フィールドを持つ Access 2016 ファイル形式 (.accdb) の他のデータベースに接続したりすることができます。
大きい数値データ型を有効にする
既定では、大きい数値データ型は、リンクとインポートの操作に対して有効ではありません。 ただし、Access の [リンク/インポートされたテーブルで大型の数値 (BigInt) データ型をサポート] オプションを設定すると、サポートを明示的に有効にすることができます。 このオプションを設定しようとすると、データベースの互換性を保つ必要がある場合に、警告メッセージが通知されます。 このオプションを設定すると、データベースは以前の Access のバージョンとの下位互換性がなくなります。
詳細については、「カレント データベースのユーザー オプションを設定する」と「下位互換性に関する考慮事項」を参照してください。
既存のテーブルが自動的に変換されない
大きい数値データ型のサポートを有効にしても、既存のテーブルのデータ型が自動的に変更されません。 SQL_BIGINT データ型 (SQL Server bigint データ型など) をサポートする ODBC ドライバーを使用して、以前にデータ ソースにリンクしたり、データ ソースからインポートしたりしている可能性があります。 いずれの場合も、Access ではフィールドを短いテキスト データ型に変換します。 データ型を大きい数値に変更するには、次の操作を行います。
リンク テーブル では、BigInt サポート オプションを有効にしてから、 リンク テーブル マネージャー を使用してリンク テーブルを更新します ([ 外部データ ] > リンク テーブル マネージャーを選択し、関連するテーブルを選択し、[ OK] を選択します)。 これにより、列が Short Text から Large Number データ型に変換されます。
インポートされたテーブル Short Text データ型を含むフィールドを Large Number データ型に変更します ([デザイン] ビューでテーブルを開き、[ データ型 ] 列のフィールドを選択し、データ型の一覧から [Large Number ] を選択し、変更を保存します)。
大きい数値データ型のサポートによる影響を理解する
大きい数値データ型の使用を開始する前に、Access データベースに影響を及ぼす可能性があることについて理解することが非常に重要です。
Access 2007-2016 ファイル形式 (.accdb) から Access 2016 へのスタンプを設定する
要約すると、Large Number データ型のサポートを有効にする方法は 2 つあります。大きな数値のデータ型を持つローカル テーブルにフィールドを追加する場合と、[ リンクされたテーブル/インポートされたテーブルアクセスのサポート Bigint データ型 ] オプションを設定する場合です。 ただし、Large Number データ型のサポートを有効にしても、元に戻すことができないデータベースに対する永続的な変更です。 いずれの場合も、変更を行う前に警告メッセージが表示されます。
バックグラウンドでは、大きい数値データ型を有効にすると、Access 2007-2016 ファイル形式 (.accdb) から Access 2016 へのスタンプが設定されます。 データベース ファイル形式のスタンプは、ファイル形式に特定の変更を加えたことを意味し、データベースのバージョンが上がりますが、それ以外の場合、ファイル形式は変更されません。 Access 2013 または Access 2016 でデータベースを開こうとすると、Access では次の方法でスタンプが読み取られます。
-
データベースのバージョンが 16.7 より前の場合は、大きい数値データ型は有効ではなく、データベースを開くことができます。
-
データベースのバージョンが 16.7 以上の場合は、大きい数値データ型が有効であり、データベースは Access 2016 でのみ開くことができます。
製品バージョンによる大きい数値データ型のサポートの概要
次の表は、さまざまな製品バージョンで大きい数値データ型を使用する場合に、発生する可能性がある状況をまとめたものです。 大きい数値データ型をテーブルに追加してデザインを保存するとき、またはリンクとインポートを有効にするオプションを設定するときに、有効化が行われることに注意してください。
ヒント: 製品バージョン番号を表示する方法は、「使用している Office のバージョンを確認する方法」を参照してください。
大きい数値データ型の状態 |
製品バージョン:Access 2013 および Access 2016 バージョン 16.0.7812 より前 |
製品バージョン:Access 2016 バージョン番号 16.0.7812 以降 |
有効 |
データベースを開くことはできません。ヘルプ リンクのあるエラー メッセージが表示されます。 この問題を解決するには、「Access 2007-2016 ファイル形式のデータベースから大きい数値データ型のサポートを削除する」を参照してください。 |
データベースを開くことができます。 大きい数値データ型を使って定義されたローカル テーブルのフィールドは、大きい数値として扱われます。 リンク テーブルを更新することができます。 列が以前に短いテキスト データ型として扱われた場合は、自動的に大きい数値データ型に変換されます。 |
無効 |
データベースを開くことができます。 リンク テーブルを更新することができます。 リンク テーブルの列が BigInt データ型に基づいていて、短いテキスト データ型に変換された場合は、そのままのデータ型が保持されます。 データベース ファイルのバージョンは、変更されません。 |
データベースを開くことができます。 リンク テーブルを更新することができます。 リンク テーブルの列が BigInt データ型に基づいていて、短いテキスト データ型に変換された場合は、そのままのデータ型が保持されます。 データベース ファイルのバージョンは、変更されません。 |
注: 大きい数値データ型は、Access 2007-2016 ファイル形式より前の Access ファイル形式 (.mdb) では、どのような場合でもサポートされません。
Access データベースで大きい数値データ型が有効になっているかどうかを判断する
Access データベースを継承して、大きい数値データ型が有効になっているかどうかを判断する必要がある場合があります。 次の操作を行うことができます。
タイトル バーを調べる データベースにスタンプが付いている場合、タイトル バーにはデータベース名> (Access 2016)< が表示されます。 それ以外の場合、タイトル バーには <データベース名> (Access 2007-2016) と表示されます。
プログラムを使用して調べる 現在のデータベース バージョン番号を表示します。 Ctrl + G キーを押して Visual Basic イミディエイト ウィンドウを表示し、「 ?CurrentDb().Version 」と入力し、Enter キーを押します。 戻り値が 16.7 未満の場合、サポートは有効になりません。 戻り値が 16.7 以上の場合は、サポートが有効になります。
下位互換性に関する考慮事項
異なるファイル形式との下位互換性を維持する必要がある場合は、データベースの環境を理解することが重要です。 Access のすべてのファイル形式の詳細については、「使用が推奨される Access ファイル形式」を参照してください。
次の 3 つの方法を検討してください。
現在の共有データベース ファイル形式の環境を維持する
Access 2007-2016 ファイル形式 (.accdb) および以前のファイル形式 (.mdb) のデータベースを使った共有データベース ファイル形式の環境を維持するには、次の操作を行います。
-
テーブルに大きい数値データ型を列として追加してはいけません。
-
大きい数値データ型をリンクとインポートの操作に対して有効にしてはいけません。 詳細については、「カレント データベースのユーザー オプションを設定する」を参照してください。
Access 2007-2016 ファイル形式のデータベースに大きい数値データ型のサポートを追加する
Access 2007-2016 ファイル形式のデータベースに大きい数値データ型のサポートを追加するには、次の操作を行います。
-
Access 2016 (16.0.7812 以上) でデータベースを開きます。
-
大きい数値データ型をリンクとインポートの操作に対して有効にします。 詳細については、「データの表示方法およびデータのデータベースへの保存方法に関する設定を選択する」を参照してください。
-
[リンク テーブル マネージャー] を使用して、リンク テーブルを更新します ([外部データ]、[リンク テーブル マネージャー] の順に選択して、関連テーブルを選択し、[OK] を選択します)。
または
大きい数値データを持つフィールドをテーブルに追加して、テーブル デザインを保存します。
この結果、短いテキスト データ型を持つフィールドは、大きい数値データ型に変換されます。
Access 2016 ファイル形式のデータベースから大きい数値データ型のサポートを削除する
Access 2016 以前のバージョンの Access から Access 2016 ファイル形式のデータベースを開くことはできません。 この問題を解決するには、次の操作を行います。
-
2007-2016 ファイル形式で新しいデータベースを作成して、リンクとインポートの操作に対して大きい数値データ型が無効になっていることを確認します。 詳細については、「カレント データベースのユーザー オプションを設定する」を参照してください。
-
新しいデータベースで、元のデータベースから必要なオブジェクトをインポートします。
-
新しいデータベースで、元のデータベースのテーブルにリンクします。
この結果、大きい数値データ型を持つフィールドは、短いテキスト データ型に変換されます。また、新しいデータベースは、すべての Access 2007-2016 ファイル形式 (.accdb) と下位互換性があります。