Счетчик

(AutoNumber) — это специальный тип данных. В отличие от всех других знакомых вам типов данных, в поле типа нельзя ввести значение. Программа Access делает это автоматически, когда вы вставляете новую запись. Access гарантирует, что значение счетчика уникально — другими словами, программа никогда не присвоит двум записям одно и то же значение типа .

 

 

Примечание

У каждой таблицы может быть не более одного поля .

 

 

Обычно поле типа выглядит как последовательность чисел — Access стремится дать первой записи значение 1, второй записи значение 2 и т. д. Но истина не так проста. Иногда программа Access пропускает числа. Такой пропуск возможен, когда несколько пользователей одновременно работают с БД, или когда вы начинаете вставлять новую запись, а затем отменяете это действие, нажав клавишу <Esc>. Вы также можете удалить существующую запись, в этом случае Access никогда повторно не использует значение типа из удаленной записи. В итоге, если вы вставляете новую запись и видите, что ей присвоено значение типа , равное 401, то не можете с уверенностью сказать, что в таблице уже есть 400 записей. Реальное их количество, возможно, меньше.

Бесспорно, значение не отображает ничего реального, и, возможно, вы не захотите тратить много времени на его рассмотрение. Единственная задача поля с типом данных — гарантировать наличие у каждой записи вашей таблицы уникального указателя. Обычно ваше поле типа служит также и первичным ключом для вашей таблицы, как объясняется в разд. "Первичный ключ " далее в этой главе.

 

Применение поля типа без раскрытия реального размера вашей таблицы

У значений есть маленький недостаток: они предоставляют сведения о количестве записей в таблице. Быть может, вы не хотите, чтобы клиент знал, что ваша торговая марка, новая компания, торгующая скульптурными фигурками из масла в духе народных ремесел (Better Butter Sculptures), "не одурачила" и 12 заказчиков. Поэтому вас смутит необходимость признаться ему в том, что его номер, ID, всего 6.

Лучше всего начать отсчет с большего числа. Вы можете обмануть программу Access, заставив генерировать числа типа , начиная с заданного минимума. Например, вместо создания номеров клиентов 1, 2 и 3 вы можете создать ID-значения 11001, 11002, 11003. Такой подход также гарантирует наличие у ваших идентификаторов одинакового количества цифр и позволяет разделить ID в разных таблицах, начиная их формирование с различных минимальных значений. К сожалению, для того чтобы реализовать эту хитрость, вам надо обмануть Access с помощью специально разработанного запроса, который вы увидите в разд. "Получение начальных значений типа , отличных от 1" главы 8.

С другой стороны, вы можете заставить программу генерировать значения типа иным способом. Есть два варианта.

¦  Случайное значение типа . Для того чтобы воспользоваться случайными числами, измените свойство поля Новые значения (New Values) со значения Последовательные (Increment) на значение Случайные (Randome). Теперь вы получите длинные номера для каждой записи, такие как 212125691, 1671255778 и -1388883525. Вы можете использовать случайные числа типа для формирования значений, которые другие люди не смогут угадать. (Например, если у вас есть таблица Orders (заказы), в которой применяются случайные числа в поле OrderlD (идентификатор заказа), их можно использовать как подтверждающие номера (confirmation numbers).) Но в мире Access случайные числа типа применяются редко.

¦  Коды репликации. Коды репликаций (Replication ID) — это длинные непонятные коды, например, 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C, гарантированно уникальные с точки зрения теории вероятностей. Для их применения измените значение свойства Размер поля с Длинного целого на Код репликации. Этот вариант действительно используется только в одном случае — если у вас есть отдельные копии БД и вам в будущем придется объединить данные из них. В следующем разделе объясняется этот сценарий.

Оба этих варианта несколько затуманивают простую и понятную концепцию типа данных , поэтому, прежде чем использовать их в своих таблицах, серьезно оцените необходимость их применения.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100