Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
Скачать 19.64 Mb.
|
Таблица 2.1 (окончание)
В следующих разделах описаны все типы данных за исключением Поле объекта OLE, пришедшего из "средневековья" БД Access. В каждом разделе также описаны все важные свойства поля, характерные для определенного типа данных. Текстовый Текстовый (Text) — это универсальный тип данных. Он принимает любую комбинацию букв, цифр и других символов. Итак, вы можете применять текстовое поле для хранения двух слов (например, "Мэри Поппинс"), предложения ("Кандидатура — английская няня, склонная поэтическим взлетам.") или что-нибудь еще ("@#$d sf_&!"). Для тех, кто понимает. Изменение типа данных может привести к потере информации Лучше всего выбирать типы данных для ваших полей во время первоначального создания таблицы. В этот момент наша таблица практически пуста, и вы не столкнетесь ни с какими проблемами. Если вы введете несколько записей, а затем решите изменить тип данных в одном из полей, жизнь станет не такой простой. Вы и теперь можете воспользоваться Конструктором для изменения типа данных, но программе 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. Длина текста У каждого текстового поля есть максимальная длина. Эта особенность вызывает изумление у людей, не привыкших работать с БД. Кроме того, с сегодняшними жесткими дисками гигантских размеров стоит ли беспокоиться об объеме? Не может ли ваша БД расширяться для того, чтобы вмещать любые данные, которые вы хотите в нее затолкать? Рис. 2.9. Для задания максимальной длины выберите ваше поле и щелкните кнопкой мыши поле Размер поля в списке Свойства поля (показанном на рисунке). {Все свойства поля, которые понадобятся вам в этой главе, находятся на вкладке Общие.) Когда вы щелкнете кнопкой мыши область свойства поля, справа появится его описание Максимальная длина имеет важное значение, потому что она определяет, насколько плотно Access может упаковать все ваши записи. Из соображений эффективности программа Access должна быть уверена, что запись целиком хранится водном месте, поэтому она всегда отводит максимальный объем дискового пространства, который может потребоваться записи. Если в вашей таблице четыре поля, по 50 символов у каждого, Access может зарезервировать для каждой записи на вашем жестком диске объем, необходимый для хранения 200 символов. С другой стороны, если у каждого вашего поля максимальная длина 100 символов, Access хранит в два раза больший объем для каждой записи, даже если в действительности вы не используете его полностью. Дополнительное пространство — не главная проблема (возможно, у вас масса свободного пространства на компьютере), но чем больше места занимает БД, тем медленнее поиск в ней. Стандартная максимальная длина — 50 — подходит в качестве отправной точки. В примечании "На профессиональном уровне. Нормативы максимальной длины " далее в этом разделе содержатся дополнительные рекомендации. Для задания максимальной длины введите число в поле Размер поля (Field Size) в окне Свойства поля (рис. 2.9). Максимально допустимая величина равна 255 символам. Если нужно хранить большой абзац или целую статью, вам нужен тип данных Поле MEMO (см. следующий раздел). Совет Стоит быть достаточно щедрым, задавая максимальную длину, чтобы в дальнейшем избежать модификации БД. На профессиональном уровне. Нормативы максимальной длины Далее перечислены некоторые рекомендуемые значения максимальной длинны.
Если нужно хранить номер телефона (123) 456-7890, задайте длину поля, равной 10 символам. Вы сможете хранить номер в виде 1234567890, но при выводе на экран использовать маску ввода (см. разд. "Маска ввода" главы 4), для того чтобы добавить скобки и дефис. Этот подход хорош тем, что позволит избежать проблем из-за ввода однотипных номеров телефонов разными способами. Описание или комментарии. 255 символов соответствуют трем или четырем предложениям среднего размера. Если вам нужно больше, рассмотрите возможность применения типа данных Поле MEMO (см. следующий раздел). Поле MEMO Корпорация Microsoft разработала тип данных Поле MEMO (Memo) для хранения больших объемов текстовой информации. Если вы хотите поместить в поле главу из книги, целую газетную статью или просто несколько абзацев текста, вам нужен тип данных Поле MEMO. Название немного странное — хотя поле Memo может хранить информацию из межофисного договора, оно также всегда полезно при наличии больших блоков текста. Если вы создали поле Memo, вам не придется задавать его максимальную длину, программа Access хранит данные в поле этого типа не так, как данные других типов. По существу, она заталкивает данные типа Memo в отдельную секцию, поэтому может хранить оставшуюся часть записи настолько плотно и эффективно, насколько это возможно, вмещая при этом большой объем текста. Длина поля Memo может достигать 65 536 символов. Учтите на будущее, что у этой главы примерно такой размер. Если вам нужен больший объем, добавьте несколько полей Memo. Примечание Технически ограничение в 65 536 символов — это ограничение пользовательского интерфейса в программе Access, а не БД. Если вы программируете приложение для обработки вашей БД, то она может хранить гораздо больше информации в поле Memo вплоть до гигабайта. Если нужно отредактировать большой объем текста во время работы на листе данных, можно воспользоваться окном Область ввода (Zoom) (рис. 2.10). Просто перейдите в поле, которое вы хотите редактировать, и нажмите сочетание клавиш Форматированный текст Текстовое поле и поле Memo хранят неформатированный текст. Но в поле Memo можно хранить и форматированный текст (rich text), содержащий разные шрифты, цвета, выравнивание и т. д. Для этого установите для параметра Text Format значение Rich Text (в отличие от стандартного значения Plain Text (обычный текст)). Для форматирования фрагмента текста вам нужно просто выделить его и затем выбрать параметры форматирования на ленте в группах Главная → Шрифт →Текст RTF (Номе →Font Home → Rich Text). Но в большинстве случаев вы не будете прибегать к этому способу, поскольку трудно редактировать большие фрагменты текста в узких столбцах листа данных. Вместо этого используйте сочетание клавиш Рис. 2.10. Если у вас в поле длинный текст, его трудно увидеть целиком без долгой прокрутки. Открыв окно Область ввода ( Рис. 2.11. Для отображения мини-панели инструментов выберите какой-нибудь текст и наведите на него указатель мыши. Мини-панель инструментов — компактная панель с параметрами форматирования — постепенно станет более отчетливой. Иногда она слегка капризна и возможно придется выделить текст заново, чтобы заставить панель появиться на экране Совет Существует другой, даже более легкий способ помещения форматированного текста в поле Memo. Создайте текст в программе, текстовом процессоре (таком как Word), отформатируйте его в этой программе и затем скопируйте и вставьте в поле. Все форматирование текста сохранится. Аккуратно реализованное, как может показаться на первый взгляд, это средство редко заслуживает внимания. Пуристы БД уверены, что таблицы должны содержать чистые данные и что необходимо давать возможность другим программам (или разукрашенным формам) решать, как их форматировать. Проблема заключается в том, что после создания форматированного текста его поддержка может стать очень трудной задачей. Только представьте себе необходимость изменить шрифт в 30 000 разных записей. Если вы действительно хотите хранить форматированное содержимое, рассмотрите возможность связывания вашей БД с отдельным документом, например файлом Word. В программе Access можно сделать это двумя способами: ■ создать поле, указывающее на файл. Например, c:\myfile\BonoBobbleheadDescription.docx. Для реализации этого способа используйте текстовый тип данных или гиперссылку (см. разд. "Гиперссылка " далее в этой главе)',
Числовой Числовой (Number) тип данных включает огромное разнообразие чисел разной величины. Можно выбрать вариант с дробной частью или использовать отрицательные числа (просто перед числовым значением поставить знак "минус"). Числовой тип данных следует применять для любой имеющейся числовой информации за исключением денежных сумм, которым больше подходит тип данных Денежный (Currency) (см. разд. "Денежный" далее в этой главе). При использовании числовых полей вы не включаете информацию о применяемых единицах измерения. У вас могут быть поля, представляющие вес в фунтах, высоту в метрах и возраст в годах. По эти поля содержат только числа. Ваша задача,— знать, что обозначает каждое число. Если вы считаете, что другие могут запутаться, рассмотрите возможность включения единиц измерения в описание поля (см. разд. "Организация и описание ваших полей" ранее в этой главе) или включите эту информацию в имя поля (например, HeightInMeters (высота в метрах)). |