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

 

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

 

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

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

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

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

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

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

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

 

 

Примечание

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

 

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

 

Вы можете следить за любыми ответами на эту запись через 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