Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
Скачать 19.64 Mb.
|
Глава 2 Создание более сложных таблиц В предыдущей главе вы научились создавать БД и без особых усилий вставлять в них таблицы. Но должен вас огорчить. Таблицы, которые вы создали к настоящему моменту, не отвечают предъявляемым требованиям. Самое важное — вы не сообщили четко и ясно программе Access о том, какой тип данных вы намерены хранить в каждом поле вашей таблицы. БД обрабатывает текст, числа, даты и другие типы данных по-разному. Если вы поместите числовую информацию в поле, предназначенное для хранения текста, вы не сможете впоследствии выполнять вычисления (например, найти среднюю стоимость ваших кукол-болванчиков) и не сможете найти ошибки (такие как "кукла-болванчик с ценой "восемьдесят и двадцать""). Для устранения подобных проблем необходимо определить тип каждого поля вашей таблицы. Это центральная задача, которую вам предстоит решить в данной главе. После того как вы освоите типы данных, можно перейти к рассмотрению более интересных аспектов проектирования БД. Типы данных Не все данные одинаковы. Рассмотрим таблицу Dolls, созданную вами в главе 1 (см. разд, "Создание простой таблицы "главы 1). В ее полях содержится информация нескольких типов:
Для вас вполне естественно предполагать, что в поле PurchasePrice всегда содержатся числовые данные, а в поле DateAcquired — информация, которая может интерпретироваться как дата. Но если вы не зададите корректно типы данных, программа Access не будет разделять ваши предположения и следовать тем же правилам, что и вы. Когда вы создаете новое поле в Режиме таблицы, Access делает обоснованное предположение о типе данных, анализируя введенную вами информацию. Если вы ввели 4 4, программа считает, что вы создаете числовое поле. Если вы вводите Янв 6, 2007, Access распознает дату. Однако Access легко запутать, что приводит к проблемам, показанным на рис. 2.1. Для того чтобы устранить ошибки ввода, следует сообщить программе Access о том, какие сведения должно содержать каждое поле. После того как правила установлены, Access проводит их в жизнь неукоснительно. Вы задаете эти требования с помощью другого окна вашей таблицы — Конструктора. Рис. 2.1. Программа Access не распознает формат даты при создании поля DateAcquired. В результате это поле интерпретируется ею как обычный текст. Даты можно ввести в разных форматах (что затрудняет чтение данных в поле DateAcquired и делает невозможной их сортировку). Разрешен также ввод абсолютно бессмысленных данных, например "восемьдесят бананов" Конструктор Когда вы создаете новую БД, Access предлагает начать с единственной таблицы, отображаемой в Режиме таблицы. (В предыдущей главе вы узнали, что Режим таблицы — это разделенный на ячейки лист, на котором можно сформировать таблицу и ввести данные.) Для переключения в Конструктор щелкните правой кнопкой мыши имя вкладки (например, Dolls) и выберите Конструктор. (Вы также можете воспользоваться группой Режим (View) на вкладке Главная (Ноmе), одноименной группой на вкладке Работа с таблицам → Режим таблицы → Режим (Table Tools → Datasheet →View) или кнопками режима в нижней части окна программы Access. Эти варианты показаны на рис. 2.2. Все перечисленные действия выполняют одно и то же, так что выбирайте наиболее удобный для вас способ.) Примечание Если вы открыли БД в формате Access 2003, то не увидите никаких вкладок. Вместо этого вы получите груду перекрывающихся окон. Эту проблему можно устранить и вернуть вкладки, выполнив инструкции, приведенные в разд. "Открытие БД, созданной в более старой версии Access" главы 1. Если же вы хотите оставить перекрывающиеся окна, пользуйтесь кнопками вида (view buttons) или лентой для смены видов (вместо щелчка правой кнопкой мыши по заголовку вкладки, описанного ранее). Если вы переходите в Конструктор с таблицей нового формата, которую вы еще не сохраняли, программа Access спросит у вас имя таблицы. Таблица будет сохранена на диске, прежде чем программа переключит вас в Конструктор. Совет Для ускорения работы вы можете создавать новую таблицу, автоматически стартуя в Конструкторе. Для этого выберите на ленте Создание → Таблицы → Конструктор таблиц (Create → Tables → Table Design). Но если вы выберите этот путь, у вашей таблицы не будет очень важного столбца Код (ID), поэтому вам придется добавить его самостоятельно, как описано в разд. "Создание поля для вашего собственного первичного ключа" далее в этой главе. Рис. 2.2. Для отображения данного меню щелкните правой кнопкой мыши имя вкладки. Вы можете перейти в Конструктор (выбрать строку Конструктор) и вернуться обратно (выбрать Режим таблицы). В качестве альтернативы можно использовать маленькие кнопки вида в правом нижнем углу окна для переходов туда и обратно. (Пока не обращайте внимание на две другие кнопки вида. Вы будете использовать их в сводной таблице для анализа ваших данных, описанного в главе 9.) В Режиме таблицы отображается содержимое вашей таблицы, а в Конструкторе — только ее структура (рис. 2.3). Конструктор можно использовать для вставки, реорганизации и удаления полей, но не для добавления новых записей. В таблицу Dolls в Конструкторе можно вставить поле Quantity (количество) для учета дубликатов кукол-болванчиков. Но без перехода обратно в Режим таблицы вы не сможете вставить вашу вновь купленную куклу Bono. Конструктор не предназначен для ввода данных. На первый взгляд этот режим отображения кажется слишком сложным. Для того чтобы упростить его внешний вид, следует начать с закрытия Окна свойств (Property Sheet), расположенного в правой части окна программы. (В Окне свойств вы можете задать некоторые высокотехнологичные установочные параметры таблицы, принимать во внимание которые прямо сейчас нет никакой нужды.) Для того чтобы убрать это окно, выберите на ленте Работа с таблицами | Конструктор → Страница свойств (Table Tools | Design → Property Sheet). В дальнейшем для восстановления окна вам нужно просто повторить эту последовательность. Рис. 2.3. В Конструкторе перечисляются поля вашей таблицы, каждое в отдельной строке. В этом режиме поля располагаются сверху вниз, а в Режиме таблицы они отображаются по порядку слева направо. Рядом с каждым полем приводится его тип данных и необязательное описание поля. Под списком полей располагается секция Свойства поля с дополнительной информацией о выбранном в данный момент поле. В этом режиме область переходов свернута для высвобождения дополнительного пространства Организация и описание ваших полей Конструктор позволяет изменить порядок следования полей, вставить новые, переименовать имеющиеся и т. д. Все это можно сделать и в Режиме таблицы, но знатоки программы Access считают, что легче работать в Конструкторе, поскольку вас не отвлекают данные в таблице. Далее перечислено несколько простых способов изменения структуры вашей таблицы в Конструкторе таблиц. ■ Вставка нового поля в конец таблицы. Перейдите в последнюю строку списка полей и введите имя нового поля. Это действие эквивалентно вставке нового поля в Режиме таблицы. Рис. 2.4. Описания помогают напомнить о том, что есть что, если позже понадобится изменять таблицу. Описания — это чудесная идея в том случае, если несколько человек поддерживают одну и ту же БД и необходима уверенность в том, что поля максимально ясны и понятны. Описания также выводятся в строке состояния при вводе данных в таблицу (рис. 2.5) Рис. 2.5. Текст в строке состояния, основываясь на описании поля, сообщает о том, что хранится в данном столбце. К сожалению, это свойство не так полезно, как кажется, потому что большинство пользователей даже не обращают никакого внимания на строку состояния ■ Добавление нового поля между имеющимися полями. Перейдите к полю, находящемуся под тем местом, куда вы хотите вставить новое поле. Щелкните поле правой кнопкой мыши и выберите команду Добавить строки (Insert Rows). Затем введите имя нового поля в пустую строку.
Примечание Помните о том, что порядок полей совсем не важен, поскольку вы можете изменить порядок отображения полей в Режиме таблицы. Но большинство людей считают, что легче проектировать таблицу, упорядочив поля с самого начала.
Как действуют обновления в Конструкторе Программа Access не вносит немедленно изменения, сделанные вами в Конструкторе. Она ждет, пока вы закроете таблицу или вернетесь в Режим таблицы. В этот момент Access спросит о том, хотите ли вы сохранить таблицу. (Обычный ответ, конечно, — да.) Иногда вносимое вами изменение может создать некоторую проблему. Вы могли попытаться изменить тип данных поля, скажем, текстовый на числовой. (В примечании "Для тех, кто понимает. Изменение типа данных может привести к потере информации" в разд. "Текстовый" далее в этой главе данная проблема обсуждается более подробно.) В подобной ситуации вы не обнаружите проблему, пока не закроете таблицу или не вернетесь в Режим таблицы, что может произойти позже, чем вам хотелось бы. Если вы внесли потенциально проблемное изменение и не можете отложить его, у вас есть возможность применить ваше обновление сразу, таким образом, вы сможете увидеть, возникает ли проблема, прежде чем двигаться дальше. Для этого щелкните мышью кнопку Сохранить (Save) на инструментальной Панели быстрого доступа (Quick Access) (это пиктограмма дискеты в левом верхнем углу окна программы Access) или просто воспользуйтесь сочетанием клавиш Типы данных Access Для определения таблицы Конструктор — гораздо более мощное средство, чем Режим таблицы. Как вы увидите в этой главе, Конструктор позволяет откорректировать все мельчайшие подробности, недоступные (или трудно модифицируемые) в Режиме таблицы. Одна из таких характеристик — тип данных вашего поля, параметр, сообщающий программе Access о типе информации, которую вы планируете хранить. Для изменения типа данных выделите столбец Тип данных (Data Type), расположенный рядом с соответствующим полем (рис. 2.6). Именно здесь вы отделите текст от чисел (и зададите другие типы данных). О принципах выбора наилучшего типа данных из длинного списка, предоставляемого программой Access, вы узнаете больше в следующем разделе. Рис. 2.6. Для выбора типа данных щелкните кнопкой мыши столбец Тип данных, расположенный рядом с соответствующим полем. На экране появится раскрывающийся список с 11 вариантами Существуют и другие свойства поля, зависящие от выбранного типа данных, вы сможете откорректировать их для еще более точного определения типа. Если вы применяете текстовый тип данных, далее вы пользуетесь свойствами поля для указания его максимальной длины. Если выбирается десятичное значение (decimal value), то вы используете свойства поля для задания числа десятичных разрядов в дробной части. Задаются свойства поля в Конструкторе в окне Свойства поля, которое отображается под списком полей. В этой главе вы узнаете больше о свойствах поля (и рассмотрите их снова в главе 4). Самое важное принимаемое вами решение, касающееся любого поля, — выбор для него типа данных. Тип данных сообщает программе Access о том, какую информацию вы намерены хранить в данном поле. Access применяет эти сведения для отклонения лишенных смысла значений (рис. 2.7), выполнения надлежащей сортировки и других действий, таких как вычисления, подсчет итогов или фильтрация. Примечание У поля может быть только один тип данных. Вы не можете создать поле, способное хранить данные двух или трех разных типов, поскольку у программы Access не будет достаточной информации для корректной обработки поля. (В подобной ситуации вам, возможно, нужны два разных поля.) Рис. 2.7. Ввод текста в поле с денежным (currency) типом данных строго запрещен. Программа Access предоставляет возможность устранить проблему с помощью ввода нового значения (правильный подход) или изменения типа данных поля на текстовый, допускающий ввод любых значений (абсолютно неправильный подход) Как вы уже знаете, существуют три основных типа данных; текст, числа и даты. Но программа Access в действительности предлагает 11 разнообразных типов данных, включающих более специализированные варианты. Прежде чем выбрать нужный тип данных, неплохо познакомиться со всеми возможными вариантами. В табл. 2.1 дан обзор первых 10 вариантов из списка Тип данных. (Вариант Мастер подстановок (Lookup wizard) не включен в нее, поскольку на самом деле это не тип данных. Этот элемент списка запускает Мастер подстановок, позволяющий задать список допустимых значений. Вы узнаете больше об этом варианте в разд. "Создание простого списка подстановок, состоящего из констант" главы 4.) Таблица 2.1. Типы данных Access
|