Изменение типа данных может привести к потере информации

Лучше всего выбирать типы данных для ваших полей во время первоначального создания таблицы. В этот момент наша таблица практически пуста, и вы не столкнетесь ни с какими проблемами.

Если вы введете несколько записей, а затем решите изменить тип данных в одном из по­лей, жизнь станет не такой простой. Вы и теперь можете воспользоваться Конструкто­ром для изменения типа данных, но программе Access придется выполнить дополни­тельное действие и преобразовать имеющиеся данные в новый тип.

В большинстве случаев процесс преобразования проходит гладко. Если в поле хранятся только числа, вы без труда измените текстовый тип данных на числовой. Но в некото­рых случаях преобразование не столь безболезненно. Далее перечислены примеры про­блем, с которыми вы можете столкнуться.

• Вы изменяете текстовый тип данных на Дата/время, но программа Access не может интерпретировать некоторые значения как даты.

• Вы изменяете тип данных Текстовыйна Числовой,но у некоторых ваших записей есть текстовые значения в данном поле (даже если их не должно быть).

• Вы изменяете тип данных Текстовыйна Числовой.Но в вашем поле содержатся дробные числа (например, 4,234), а вы забыли изменить свойство Размер поля (Field Size) (см. табл. 2.2). В результате программа Access полагает, что вы используете только целые числа, и обрезает все дробные знаки.

Лучший способ справиться с этими проблемами — создать резервную копию (см. разд. "Создание резервных копий " в главе 1), прежде чем вносить любые радикальные измене­ния, и следить за корректировками, которые сбиваются с пути истинного. В первых двух случаях из приведенного перечня программа Access предупредит вас о необходимости удаления некоторых значений, поскольку они не соответствуют правилам типа данных (рис. 2.8). Третья проблема более коварна — Access выдаст предупреждение, но не сооб­щит вам, возникнет на самом деле проблема или нет. Если вы предполагаете сбой, пе­рейдите в Режим таблицыи проверьте ваши данные, прежде чем двигаться дальше.

Изменение типа данных может привести к потере информации - student2.ru

Рис. 2.8. He говорите о том, что вас не предупреждали. Программа Access дает вам знать (на свой слегка заумный манер), что не может внести заданное вами изменение — преобразование типа данных поля из текстового в дату — без уничтожения значений в четырех записях. Самый разумный план действий — щелкнуть мышью кнопку Нетдля отказа от изменения и повнимательнее посмотреть таблицу в Режиме таблицыдля проверки проблемных значений

Примечание

Поскольку текстовые поля столь покладисты, вы, очевидно, можете вводить в них числа, даты и все что угодно. Но текст следует использовать, только если вы сохраняете информацию, ко­торая не может быть обработана с применением другого типа данных, поскольку Access всегда интерпретирует содержимое текстового поля как обычный заурядный текст. Другими словами, если вы сохраняете число 43.99 а текстовом поле, Access не поймет, что вы имеете дело с числами, и не разрешит использовать его в вычислении.

Иногда кажется, что текстовый тип данных уж слишком всеяден. К счастью, вы можете применить некоторые более строгие правила, запрещающие использование определенных символов или вынуждающие текст следовать заранее заданному образцу. Например, про­грамма Access обычно воспринимает номера телефонов как текст, поскольку они представ­лены последовательностью символов, такой как 123-4444 (а не одним числом 1 234 444). Но вы хотите помешать вставлять в телефонные номера буквы, которые к ним не относятся. Для реализации этого требования можно использовать маски ввода (input masks) (см. разд. "Маски ввода" главы 4) и проверку корректности (validation) — две функциональные воз­можности, обсуждаемые в главе 4.

Длина текста

У каждого текстового поля есть максимальная длина. Эта особенность вызывает изумление у людей, не привыкших работать с БД. Кроме того, с сегодняшними жесткими дисками ги­гантских размеров стоит ли беспокоиться об объеме? Не может ли ваша БД расширяться для того, чтобы вмещать любые данные, которые вы хотите в нее затолкать?

Изменение типа данных может привести к потере информации - student2.ru

Рис. 2.9. Для задания максимальной длины выберите ваше поле и щелкните кнопкой мыши поле Размер поляв списке Свойства поля(показанном на рисунке). {Все свойства поля, которые понадобятся вам в этой главе, находятся на вкладке Общие.)Когда вы щелкнете кнопкой мыши область свойства поля, справа появится его описание

Максимальная длина имеет важное значение, потому что она определяет, насколько плотно Access может упаковать все ваши записи. Из соображений эффективности програм­ма Access должна быть уверена, что запись целиком хранится водном месте, поэтому она всегда отводит максимальный объем дискового пространства, который может потребоваться записи. Если в вашей таблице четыре поля, по 50 символов у каждого, Access может заре­зервировать для каждой записи на вашем жестком диске объем, необходимый для хранения 200 символов. С другой стороны, если у каждого вашего поля максимальная длина 100 сим­волов, Access хранит в два раза больший объем для каждой записи, даже если в действи­тельности вы не используете его полностью. Дополнительное пространство — не главная проблема (возможно, у вас масса свободного пространства на компьютере), но чем больше места занимает БД, тем медленнее поиск в ней.

Стандартная максимальная длина — 50 — подходит в качестве отправной точки. В при­мечании "На профессиональном уровне. Нормативы максимальной длины " далее в этом раз­деле содержатся дополнительные рекомендации.

Для задания максимальной длины введите число в поле Размер поля (Field Size) в окне Свойства поля (рис. 2.9). Максимально допустимая величина равна 255 символам. Если нужно хранить большой абзац или целую статью, вам нужен тип данных Поле MEMO(см.следующий раздел).

Совет

Стоит быть достаточно щедрым, задавая максимальную длину, чтобы в дальнейшем избежать модификации БД.

Наши рекомендации