Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Access 2007

.pdf
Скачиваний:
115
Добавлен:
11.05.2015
Размер:
23.5 Mб
Скачать

Перемещение поля. Перетащите серый квадратик, расположенный у левого края поля, которое вы хотите переместить в новую позицию.

Примечание

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

Удаление поля. Щелкните правой кнопкой мыши серый квадратик, расположенный слева от поля, которое вы хотите удалить, и выберите команду Удалить строки (Delete Rows). Не забывайте о том, что, удаляя поле, вы также уничтожаете осе хранящиеся в нем данные. Это действие нельзя отменить, поэтому программа Access попросит подтвердить ваше желание выполнить именно это действие.

Вставка описания поля. Введите предложение или два в столбец Описание (Description), расположенный рядом с соответствующим полем. (Вы можете использовать имя "знаменитости или вымышленного персонажа, на которых похожа данная кукла-болванчик" как описание поля Character (персонаж) в таблице Dolls, как показано на рис. 2.4.)

Как действуют обновления в Конструкторе

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

Иногда вносимое вами изменение может создать некоторую проблему. Вы могли попытаться изменить тип данных поля, скажем, текстовый на числовой. (В примечании "Для тех, кто понимает. Изменение типа данных может привести к потере информации" в разд.

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

Если вы внесли потенциально проблемное изменение и не можете отложить его, у вас есть возможность применить ваше обновление сразу, таким образом, вы сможете увидеть, возникает ли проблема, прежде чем двигаться дальше. Для этого щелкните мышью кнопку Сохранить (Save) на инструментальной Панели быстрого доступа (Quick Access) (это пиктограмма дискеты в левом верхнем углу окна программы Access) или просто воспользуйтесь сочетанием клавиш <CtrI>+<S>. Access внесет изменение и сохранит таблицу. Если возникнет проблема, программа Access сообщит вам о ней (и позволит выбрать способ ее устранения), прежде чем вы сделаете что-нибудь еще с вашей таблицей.

Типы данных Access

Для определения таблицы Конструктор — гораздо более мощное средство, чем Режим таблицы. Как вы увидите в этой главе, Конструктор позволяет откорректировать все мельчайшие подробности, недоступные (или трудно модифицируемые) в Режиме таблицы.

Одна из таких характеристик — тип данных вашего поля, параметр, сообщающий программе Access о типе информации, которую вы планируете хранить. Для изменения типа данных выделите столбец Тип данных (Data Type), расположенный рядом с соответствующим полем (рис. 2.6). Именно здесь вы отделите текст от чисел (и зададите другие типы

71

данных). О принципах выбора наилучшего типа данных из длинного списка, предоставляемого программой Access, вы узнаете больше в следующем разделе.

Рис. 2.6. Для выбора типа данных щелкните кнопкой мыши столбец Тип данных, расположенный рядом с соответствующим полем. На экране появится раскрывающийся список с 11 вариантами

Существуют и другие свойства поля, зависящие от выбранного типа данных, вы сможете откорректировать их для еще более точного определения типа. Если вы применяете текстовый тип данных, далее вы пользуетесь свойствами поля для указания его максимальной длины. Если выбирается десятичное значение (decimal value), то вы используете свойства поля для задания числа десятичных разрядов в дробной части. Задаются свойства поля в Конструкторе в окне Свойства поля, которое отображается под списком полей. В этой главе вы узнаете больше о свойствах поля (и рассмотрите их снова в главе 4).

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

Примечание

У поля может быть только один тип данных. Вы не можете создать поле, способное хранить данные двух или трех разных типов, поскольку у программы Access не будет достаточной информации для корректной обработки поля. (В подобной ситуации вам, возможно, нужны два разных поля.)

72

Рис. 2.7. Ввод текста в поле с денежным (currency) типом данных строго запрещен. Программа Access предоставляет возможность устранить проблему с помощью ввода нового значения (правильный подход) или изменения типа данных поля на текстовый, допускающий ввод любых значений (абсолютно неправильный подход)

Как вы уже знаете, существуют три основных типа данных; текст, числа и даты. Но программа Access в действительности предлагает 11 разнообразных типов данных, включающих более специализированные варианты. Прежде чем выбрать нужный тип данных, неплохо познакомиться со всеми возможными вариантами. В табл. 2.1 дан обзор первых 10 вариантов из списка Тип данных. (Вариант Мастер подстановок (Lookup wizard) не включен в нее, поскольку на самом деле это не тип данных. Этот элемент списка запускает Мастер подстановок, позволяющий задать список допустимых значений. Вы узнаете больше об этом варианте в разд. "Создание простого списка подстановок, состоящего из констант" главы 4.)

Таблица 2.1. Типы данных Access

Тип данных

Описание

Примеры

Текстовый

Числа, буквы, знаки пунктуации и сим-

Имена, адреса, номера телефонов и

(Text)

волы, не более 255 (абзац среднего

описания товаров. Это наиболее

 

размера)

распространенный тип данных

Поле MEMO

Большие обьемы неформатированного

Статьи, заметки, письма, ордера на арест

(Memo)

текста до 65 536 символов (среднего

и другие короткие документы

 

размера глава в романе)

 

 

 

 

Числовой

Все многообразие числовых данных,

Любой тип чисел за исключением де-

(Number)

включая отрицательные и дробные числа

нежных значений. Хранит измерения,

 

 

итоги и проценты

 

 

 

Денежный

Аналогичен числовому типу, но опти-

Цены, платежи и статьи расходов

(Currency)

мизирован для хранения сумм в де-

 

 

нежном выражении

 

 

 

 

Дата/время

Календарная дата или время суток (или и

Дни рождений, даты заказов, даты

(Date/Time)

то и другое). Не применяйте этот тип

доставки, свидания и время наблюдений

 

данных для задания временных

НЛО

 

интервалов (количество минут в песне

 

 

или продолжительность вашей трени-

 

 

ровки), для этого больше подойдет

 

 

числовой тип данных

 

73

Таблица 2.1 (окончание)

Тип данных

Описание

Примеры

Логический

Содержит одно из двух значений:

Строго двухвариантные поля, как

(Yes/No)

Да или Нет. (Вы можете их

мужской/женский или санкционирован-

 

считать значениями Истина (True)

ный/несанкционированный

 

или Ложь (False))

 

Гиперссылка

URL (uniform resource locator,

www.FantasyPets.com, nore-

(Hyperlink)

унифицированный указатель

plies@antisocial.co.uk,

 

информационного ресурса) Web-

f:\Documents\Report.doc

 

сайта, адрес электронной почты

 

 

или полное имя файла

 

Вложение

Один или несколько отдельных

Изображения, документы Word, электронные

(Attachment)

файлов. Содержимое этих файлов

таблицы Excel, звуковые файлы и т. д.

 

колируется в БД

 

 

 

 

Счетчик

Хранит число, генерируемое

Применяется для уникальной идентификации

(AutoNumber)

программой Access при вставке

каждой записи, в особенности для первичного

 

новой записи. Каждой записи

ключа (primary key) (см. разд. "Первичный ключ"

 

автоматически присваивается

далее в этой главе). Обычно столбец называется

 

уникальный номер, иден-

Код (ID)

 

тифицирующий ее

 

 

 

 

Поле объекта

Хранит встроенные двоичные

Некоторые типы изображений и документов,

OLE

данные, соответствующие

созданных в других программах. Главным

(OLE Object)

стандарту OLE (Object Linking and

образом, применяется в БД Access старого стиля.

 

Embedding, применяется для

В наши дни проектировщики БД используют тип

 

обозначения технологий на основе

данных Вложение (Attachment) вместо поля

 

СОМ, используемых для создания

объекта OLE

 

составных документов внедрением

 

 

и связыванием) ОС Windows.

 

 

Применяется редко, т. к. приводит

 

 

к быстрому увеличению размера

 

 

БД и другим проблемам. Почти

 

 

всегда лучше выбирать тип

 

 

данных Вложение (Attachment)

 

 

 

 

В следующих разделах описаны все типы данных за исключением Поле объекта OLE, пришедшего из "средневековья" БД Access. В каждом разделе также описаны все важные свойства поля, характерные для определенного типа данных.

Текстовый

Текстовый (Text) — это универсальный тип данных. Он принимает любую комбинацию букв, цифр и других символов. Итак, вы можете применять текстовое поле для хранения двух слов (например, "Мэри Поппинс"), предложения ("Кандидатура — английская няня, склонная поэтическим взлетам.") или что-нибудь еще ("@#$d sf_&!").

Для тех, кто понимает.

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

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

74

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

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

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

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

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

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

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

Примечание

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

75

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

Длина текста

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

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

76

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

Стандартная максимальная длина — 50 — подходит в качестве отправной точки. В

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

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

Совет

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

На профессиональном уровне. Нормативы максимальной длины

Далее перечислены некоторые рекомендуемые значения максимальной длинны.

Имена и фамилии. 25 символов достаточно для имени, а 50 символов позволят без риска хранить длинную двойную фамилию.

Начальная буква отчества. Один символ. (Иногда здравый смысл подсказывает верное решение.)

Адрес электронной почты. Подойдут 50 символов. В дикой природе встречаются адреса электронной почты, приближающиеся к 100 символам (в качестве дополнительного примера поищите D Google самый длинный в мире почтовый адрес), но маловероятно, что они достигнут вашей БД.

Города, штаты, страны и другие географические названия. Несмотря на то, что название горы в Новой Зеландии на языке маори превышает 80 символов (см. http://en.wikipedia.org/wiki/Longest_word__in_English), для большинства практических целей достаточно 50.

Название улицы и номер дома (уличный адрес). Адрес с указанием улицы состоит из числа, за которым следуют пробел, название улицы, еще один пробел и сокращение (такое как пр. или ул.). 50 символов хватит, если почтовые индексы, названия городов и другие подробности адреса вы поместите в другие поля.

Номера телефонов, почтовые индексы, номера кредитных карт и другой текст фиксированной длины. Сосчитайте количество символов без учета заполнителей и задайте соответствующий максимум.

77

Если нужно хранить номер телефона (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). Просто перейдите в поле, которое вы хотите редактировать, и нажмите сочетание клавиш <Shift>+<F2>.

Форматированный текст

Текстовое поле и поле Memo хранят неформатированный текст. Но в поле Memo можно хранить и форматированный текст (rich text), содержащий разные шрифты, цвета, выравнивание и т. д. Для этого установите для параметра Text Format значение Rich Text (в отличие от стандартного значения Plain Text (обычный текст)).

Для форматирования фрагмента текста вам нужно просто выделить его и затем выбрать параметры форматирования на ленте в группах Главная → Шрифт → Текст RTF (Номе → Font Home → Rich Text). Но в большинстве случаев вы не будете прибегать к этому способу, поскольку трудно редактировать большие фрагменты текста в узких столбцах листа данных. Вместо этого используйте сочетание клавиш <Shift>+<F2> для открытия окна Область ввода (рис. 2.11), а затем мини-панель инструментов (minibar).

78

Рис. 2.10. Если у вас в поле длинный текст, его трудно увидеть целиком без долгой прокрутки. Открыв окно Область ввода (<Shift>+<F2>), вы увидите больше текста, и редактировать его будет гораздо легче. Вы должны будете щелкнуть мышью кнопку ОК (для принятия исправлений) или Отмена (для отказа от них) для того, чтобы снова вернуться на лист данных

Рис. 2.11. Для отображения мини-панели инструментов выберите какой-нибудь текст и наведите на него указатель мыши. Мини-панель инструментов — компактная панель с параметрами форматирования — постепенно станет более отчетливой. Иногда она слегка капризна и возможно придется выделить текст заново, чтобы заставить панель появиться на экране

79

Совет

Существует другой, даже более легкий способ помещения форматированного текста в поле Memo. Создайте текст в программе, текстовом процессоре (таком как Word), отформатируйте его в этой программе и затем скопируйте и вставьте в поле. Все форматирование текста сохранится.

Аккуратно реализованное, как может показаться на первый взгляд, это средство редко заслуживает внимания. Пуристы БД уверены, что таблицы должны содержать чистые данные и что необходимо давать возможность другим программам (или разукрашенным формам) решать, как их форматировать. Проблема заключается в том, что после создания форматированного текста его поддержка может стать очень трудной задачей. Только представьте себе необходимость изменить шрифт в 30 000 разных записей.

Если вы действительно хотите хранить форматированное содержимое, рассмотрите возможность связывания вашей БД с отдельным документом, например файлом Word. В программе Access можно сделать это двумя способами:

создать поле, указывающее на файл. Например, c:\myfile\BonoBobbleheadDescription.docx. Для реализации этого способа используйте текстовый тип данных или гиперссылку (см. разд. "Гиперссылка " далее в этой главе)',

встройте файл внутрь вашей БД. Применение этого способа сделает невозможной потерю файла (или указание на неверное местоположение). Однако вам придется каждый раз при необходимости редактирования удалять файл. Для этого используйте тип данных Вложение

(см. разд. "Вложение" далее в этой главе).

Числовой

Числовой (Number) тип данных включает огромное разнообразие чисел разной величины. Можно выбрать вариант с дробной частью или использовать отрицательные числа (просто перед числовым значением поставить знак "минус"). Числовой тип данных следует применять для любой имеющейся числовой информации за исключением денежных сумм, которым больше подходит тип данных Денежный (Currency) (см. разд. "Денежный" далее в этой главе).

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

Примечание

Ваше поле никогда не должно содержать такие данные, как "44 фунта". Программа Access интерпретирует это значение как текстовое, поэтому, допустив такую ошибку, вы не сможете применять все важные средства решения числовых задач большого объема (crunching) или проверки правильности (validation), о которых вы узнаете позже в этой книге.

Размер числа

Как и в случае текстового поля, создавая числовое ноле, вы должны задать свойство Размер поля (Field Size) для гарантии того, что программа Access зарезервирует для него нужный

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]