Тип данных bigint для больших чисел хранит неденежные числовые значения и совместим с типом данных SQL_BIGINT в ODBC. Используйте этот тип данных для эффективных вычислений с большими числами.
Вы можете добавить поле такого типа в таблицу Access. Кроме того, можно создать связь с данными или импортировать их из баз данных, содержащих соответствующий тип данных, например тип bigint SQL Server. Добавить тип данных bigint можно в Access 2016 (сборки 16.0.7812 или более поздней).
В этой статье
Создание связи с внешней базой данных или импорт из нее с поддержкой типа данных SQL_BIGINT |
Добавление поля bigint в таблицу
Тип данных bigint (восемь байт) существенно расширяет диапазон для вычислений по сравнению с типом данных number (четыре байта). Так, диапазон для number составляет от -2^31 до 2^31-1, а для bigint — от -2^63 до 2^63-1. Дополнительные сведения см. в статье Введение в использование типов данных и свойств полей.
Если добавить поле типа bigint в таблицу и сохранить ее структуру, будет включена поддержка этого типа данных, а база данных станет несовместимой с предыдущими версиями Access. Перед сохранением структуры таблицы появится предупреждение об этом на случай, если для вас важна совместимость базы данных. Дополнительные сведения см. в разделе Обратная совместимость.
Создание связи с внешней базой данных или импорт из нее с поддержкой типа данных SQL_BIGINT
Вы также можете использовать тип данных bigint для эффективной работы со связанными или импортированными данными, например с базой данных SQL Server, в которой применяется аналогичный тип данных. До того как в Access появилась поддержка типа данных bigint, подобные типы данных приводились к типу "Короткий текст".
Когда поддержка типа данных bigint включена для операций связывания и импорта, вы можете создать связь с внешним источником данных или импортировать из него данные, используя драйвер ODBC, который поддерживает тип данных SQL_BIGINT, в том числе первичный ключ на его основе. Например, с помощью драйвера ODBC, установленного вместе с Windows, можно подключаться к таким внешним источникам данных, а также к другим базам данных в формате Access 2016 (ACCDB), которые содержат поля типа bigint.
Включение поддержки типа данных bigint
По умолчанию поддержка типа данных bigint не включена для операций связывания и импорта. Но вы можете явно включить ее, установив в Access параметр Поддержка типа данных BigInt для связанных/импортированных таблиц. Когда вы попытаетесь сделать это, появится предупреждение на случай, если для вас важна совместимость базы данных. После установки этого параметра база данных утратит обратную совместимость с предыдущими версиями Access.
Дополнительные сведения см. в статье Настройка пользовательских параметров текущей базы данных и разделе Обратная совместимость.
Существующие таблицы не будут преобразованы автоматически
Если включить поддержку типа данных bigint, это не приведет к автоматическому изменению типа данных в существующих таблицах. Возможно, вы уже использовали драйвер ODBC для создания связи с источником данных, поддерживающим тип данных SQL_BIGINT (например, тип данных bigint в SQL Server), или для импорта данных из такого источника. В обоих случаях поле такого типа было преобразовано в Access в поле с типом данных "Короткий текст". Чтобы изменить тип данных на bigint, выполните описанные ниже действия.
Связанная таблица включите параметр поддержки BigInt, а затем обновите связанные таблицы с помощью диспетчера связанных таблиц (выберите внешние данные > диспетчер связанных таблиц, выберите соответствующие таблицы и нажмите кнопку ОК). При этом столбец из типа "Короткий текст" преобразуется в тип данных "Большое число".
Импортированная таблица Измените поле, содержащее тип данных Short Text, на тип данных Large Number (Откройте таблицу в режиме конструктора, выберите поле в столбце Тип данных , выберите Большое число в списке типов данных, а затем сохраните изменения).
Последствия поддержки типа данных bigint
Прежде чем начать использовать тип данных bigint, очень важно понять, как это повлияет на базы данных Access.
Присвоение метки Access 2016 формату файлов Access 2007–2016 (ACCDB)
Коротко говоря, включить поддержку типа данных bigint можно двумя способами: добавить в локальную таблицу поле с типом данных bigint или установить в Access параметр Поддержка типа данных BigInt для связанных/импортированных таблиц. Каким бы из них вы ни воспользовались, это изменение необратимо и базу данных невозможно вернуть в предыдущее состояние. В обоих случаях перед внесением изменений в Access появляется предупреждение.
Нужно учесть, что при включении поддержки типа данных bigint формату файлов Access 2007–2016 (ACCDB) присваивается метка Access 2016. Присвоение метки формату файлов базы данных означает, что вы внесли в него определенное изменение, номер версии базы данных увеличился, но в остальном формат остался прежним. Если попытаться открыть такую базу данных в Access 2013 или Access 2016, эта метка интерпретируется следующим образом:
-
Если номер версии базы данных меньше 16.7, то тип данных bigint не поддерживается и вы сможете открыть ее.
-
Если номер версии базы данных равен или больше 16.7, то тип данных bigint поддерживается и вы сможете открыть ее только в Access 2016.
Сведения о поддержке типа данных bigint в различных версиях продукта
В таблице ниже перечислены ситуации, которые могут возникнуть при использовании типа данных bigint в различных версиях продукта. Обратите внимание: поддержка включается, когда вы добавляете в таблицу поле с типом данных bigint или устанавливаете соответствующий параметр для связывания и импорта данных.
Совет: Дополнительные сведения о том, как узнать номер версии продукта, см. в статье Какая у меня версия Office?
Поддержка типа данных bigint |
Версия продукта: Access 2013, а также Access 2016 с номером версии меньше 16.0.7812 |
Версия продукта: Access 2016 с номером версии 16.0.7812 или больше |
Включена |
Невозможно открыть базу данных, и появляется сообщение об ошибке со ссылкой на статью справки. Чтобы найти выход из этой ситуации, см. статью "Прекращение поддержки типа данных bigint для базы данных в формате Access 2007–2016". |
Вы можете открыть базу данных. Поля локальной таблицы, для которых задан тип данных bigint, интерпретируются как большие числа. Вы можете обновить связанные таблицы. Столбцы, которые до этого считались имеющими тип данных "Короткий текст", будут автоматически приведены к типу данных bigint. |
Не включена |
Вы можете открыть базу данных. Вы можете обновить связанные таблицы. Если столбцы в связанной таблице основаны на данных типа bigint и были приведены к типу "Короткий текст", ничего не изменится. Номер версии файла базы данных останется прежним. |
Вы можете открыть базу данных. Вы можете обновить связанные таблицы. Если столбцы в связанной таблице основаны на данных типа bigint и были приведены к типу "Короткий текст", ничего не изменится. Номер версии файла базы данных останется прежним. |
Примечание: Тип данных bigint ни при каких обстоятельствах не поддерживается для формата файлов Access (MDB), предшествующего формату Access 2007–2016.
Определение состояния поддержки для типа данных bigint в базе данных Access
Если у вас есть база данных Access, созданная другим пользователем, вы, возможно, захотите узнать, поддерживается ли в ней тип данных bigint. Вы можете сделать следующее:
Проверьте заголовок окна. Если базе данных присвоена метка, заголовок выглядит так: <имя базы данных> (Access 2016). В противном случае он имеет такой вид: <имя базы данных> (Access 2007–2016).
Программная проверка Посмотрите текущий номер версии базы данных. Нажмите клавиши CTRL+G, чтобы открыть окно проверки Visual Basic, введите ?CurrentDb().Version и нажмите клавишу ВВОД. Если возвращенное значение меньше 16.7, это означает, что поддержка не включена. Если оно больше или равно 16.7, поддержка включена.
Обратная совместимость
Если вы хотите поддерживать обратную совместимость с различными форматами файлов, важно знать свойства среды базы данных. Дополнительные сведения обо всех форматах файлов Access см. в статье Какой формат файла следует использовать в Access?
Ниже описаны три варианта, которые следует рассмотреть.
Сохранение имеющейся общей среды форматов файлов баз данных
Чтобы сохранить общую среду форматов файлов с базами данных в формате Access 2007–2016 (ACCDB) и в предыдущих форматах (MDB), соблюдайте такие требования:
-
не добавляйте ни в одну из таблиц столбец с типом данных bigint;
-
не включайте поддержку типа данных bigint для операций связывания и импорта. Дополнительные сведения см. в статье Настройка пользовательских параметров текущей базы данных.
Добавление поддержки типа данных bigint в базу данных в формате Access 2007–2016
Чтобы добавить поддержку типа данных bigint в базу данных в формате Access 2007–2016 (ACCDB), сделайте следующее:
-
Откройте базу данных в Access 2016 (версии 16.0.7812 или более поздней).
-
Включите поддержку типа данных bigint для операций связывания и импорта. Дополнительные сведения см. в статье Настройка параметров для отображения и хранения данных в базе данных.
-
Обновите связанные таблицы с помощью диспетчера связанных таблиц. Для этого выберите Внешние данные > Диспетчер связанных таблиц, щелкните нужные таблицы и нажмите кнопку ОК.
ИЛИ
Добавьте в таблицу поле с типом данных bigint и сохраните ее структуру.
В результате поля с типом данных "Короткий текст" будут приведены к типу bigint.
Прекращение поддержки типа данных bigint в базе данных в формате Access 2016
Базу данных в формате Access 2016 невозможно открыть в более ранних версиях Access. Чтобы обойти эту проблему, сделайте следующее:
-
Создайте новую базу данных в формате 2007–2016 и не включайте поддержку типа данных bigint для операций связывания и импорта. Дополнительные сведения см. в статье Настройка пользовательских параметров текущей базы данных.
-
Импортируйте нужные объекты из исходной базы данных в новую.
-
В новой базе данных создайте связи с таблицами исходной базы данных.
В результате поля с типом данных bigint будут преобразованы в тип данных "Короткий текст", а новая база данных будет совместима со всеми форматами файлов Access 2007–2016 (ACCDB).