- •Исходная учебная ситуация
- •Введите текст в прокручиваемые поля
- •Окончание занятия
- •Окончание занятия
- •Начало занятия
- •Окончание занятия
- •Начало занятия
- •Начало занятия
- •О том, как ввести данные в форму Занятие 1
- •О поиске записей Занятие 4
- •О сортировке записей Занятие 4
- •Начало занятия
- •Начало занятия
- •Окончание занятия
- •Начало занятия
- •Подробнее Смотрите
- •Начало занятия
- •Начало занятия
- •Начало занятия
- •Начало занятия
Начало занятия
-
Запустите Microsoft Access, если Вы этого еще не сделали.
-
Откройте базу данных Сластена Лили
-
Разверните окно программы до размеров полного экрана.
Что такое таблица
Таблица базы данных — это совокупность сведений, по определенной теме или категории объектов. Скажем, одна таблица может содержать данные о клиентах - их фамилию, адрес, телефон и т.п. другая таблица может быть посвящена типам конфет и включать их наименования, картинку, стоимость и пр.
База данных Microsoft Access - это набор таблиц, которые Вы используете для хранения взаимосвязанных сведений. Например, таблицы базы данных Сластена Лили содержат разного рода информацию, имеющую отношение к деятельности одноименной компании.
Каждое поле таблицы представляет собой столбец таблицы и содержит определенную категорию информации. Например, поля таблицы Конфеты содержат сведения, так или иначе описывающие сладкую продукцию фирмы: название конфет, применяемый при их изготовлении сорт шоколада, стоимость производства и т.д.
Каждая запись представляет собой строку таблицы и содержит всю информацию о конкретном человеке, событии или предмете. Например, каждая запись в таблице Конфеты содержит информацию о конкретном изделии. Каждая запись в таблице Заказчики содержит полную информацию об отдельном клиенте.
Создавая новую таблицу, Вы определяете, сколько полей будет в ней и какая информация будет храниться в каждом поле. После присвоения таблице имени и ее сохранения Вы можете приступить к вводу данных.
Как создать таблицу с помощью программы-мастера
Microsoft Access предлагает вам в качестве проводника создания таблицы Мастер таблиц. Он будет незаменимым помощником и тогда, когда Вы только приступите к созданию базы данных, и когда будете добавлять новую таблицу в уже существующей базе. В таблицы, созданные посредством Мастера таблиц, Вы в дальнейшем можете вносить любые изменения.
-
В окне базы данных щелкните на объекте Таблицы, чтобы появился список имеющихся таблиц, а затем щелкните на кнопке Создать. Появится диалоговое окно Новая таблица.
-
В этом окне щелкните на кнопке Мастер таблиц и затем на ОК. Откроется первый диалог Мастера.
-
Прокрутив список Образцы Таблиц, найдите и выделите строку Поставщики.
-
В поле списка Образцы Полей дважды щелкните на каждой из следующих строк, чтобы переместить их в поле списка Поля новой таблицы:
Название Поставщика
Обращаться к
Номер Телефона
Факс
-
Щелкните на кнопке Далее. В текстовом поле представлено предполагаемое имя таблицы: Поставщики. Поскольку Вы хотели назвать таблицу именно так, то ничего здесь не меняйте.
-
По умолчанию поставлена опция Автоматическое определение ключа в Microsoft Access. He меняя ничего, щелкните на кнопке Далее.
Ключ — это одно или несколько полей, в которых находятся обозначения, единственно возможным. образом идентифицирующие каждую запись. Проще всего предоставить выбор ключевых полей программе.
-
В следующем окне Вы определяете, связана ли ваша таблица с другими таблицами базы данных и в необходимых случаях устанавливаете связи. Поскольку новая таблица пока не имеет связей, щелкните на кнопке Далее.
-
В следующем диалоге оставьте заданную по умолчанию опцию Ввести данные непосредственно в таблицу и щелкните на кнопке Готово.
На экране появляется заготовка вашей таблицы.
Как внести в таблицу данные
Если Вы находитесь в другом режиме, то переключиться в Режим таблицы можно, щелкнув на кнопке Вид панели инструментов и выбрав в ниспадающем списке пункт Режим таблицы.
Microsoft Access добавил в вашу таблицу поле Код Поставщика, и оно будет использоваться в качестве ключевого. Под именем написано Счетчик. Таким образом программа дает вам знать, что вам не надо заполнять ячейки поля. Microsoft Access автоматически присвоит номер каждой записи. В другие поля информацию будете вводить Вы сами.
-
Нажмите клавишу Tab , чтобы перейти к полю Название. Как только Вы начнете печатать, Microsoft Access присвоит записи номер 1.
-
Введите с клавиатуры название Шоколадный мир и нажмите клавишу Tab, чтобы перейти к полю Обращаться к.
-
Напечатайте имя вашего представителя Бэкки Рейнгардт и нажмите клавишу Tab, чтобы перейти к полю Телефон.
-
Напечатайте номер телефона (617) 555-5460 и нажмите клавишу Tab, чтобы перейти к полю Факс.
-
Напечатайте номер факса (617) 555-5460, чтобы закончить запись.
Запись автоматически сохранится, когда Вы перейдете на следующую строку. Но прежде обратите внимание на значок индикатора записи. Если он имеет вид карандаша, значит Вы внесли в запись изменения, но еще не сохранили ее.
-
Нажмите клавишу Tab, чтобы перейти к следующей записи. Microsoft Access автоматически сохранит запись, и значок карандаша исчезнет.
-
Нажмите клавишу Tab, чтобы перейти к полю Название второй строки, и добавьте записи с информацией еще о двух поставщиках:
Поле Поставщик орехов Поставщик эссенции
Название Обращаться к Телефон Факс |
Ореховый сад Берни Каттер (313)555-9987 (313)555-9990 |
Море ароматов Беверли Симе (515)555-9834 (515)555-9888 |
-
Выберите команду меню Файл -Закрыть или щелкните на кнопке Закрыть в правом верхнем углу окна таблицы. Таблица исчезнет с экрана, а ее имя появится в списке таблиц базы данных Сластена Лили.
Как конструировать таблицу
-
В окне базы данных щелкните на ярлычке Таблицы и, убедившись, что появился список таблиц, щелкните на кнопке Создать.
-
В появившемся диалоге Новая таблица выделите пункт Режим таблицы и щелкните на ОК. На экране появится бланк таблицы, состоящей из 20 столбцов и 30 строк.
Как присвоить имена полям таблицы
-
Дважды щелкните на обозначении Поле1 (имя поля напечетано на сером фоне) и напечатайте Транспортная компания. Имя поля может содержать до 64 знаков, включая пробелы. В имени могут использоваться знаки препинания, кроме точки, восклицательного знака и квадратных скобок.
-
Поместите указатель на правую границу столбца и, когда он примет вид двуглавой стрелки, произведите двойной щелчок. Ширина столбца изменится так, что название поля поместится в нем целиком.
-
Дважды щелкните на обозначении Поле2 и напечатайте Доставка авиатранспортом.
-
Увеличьте ширину столбца, как это было сделано для первого поля
-
Щелкните в ячейке первой записи поля Транспортная компания v напечатайте Неутомимые перевозчики. Затем нажмите клавиша Tab, чтобы перейти к следующему полю.
-
В этом поле будет содержаться информация типа «Да/Нет». Положительное значение соответствует доставке товара по воздуху, а отрицательное - сухопутным транспортом. Значение по умолчанию этого поля будет Нет. Компания «Неутомимые перевозчики» использует наземный транспорт, поэтому напечатайте Нет. Когда Вы введете несколько однотипных записей в это поле, Microsoft Access задает ему соответствующий тип (в дальнейшем Вы сможете его изменить).
-
Щелкните во второй строке поля Транспортная компания.
-
Внесите информацию двух следующих записей в соответствии с приводимой ниже таблицей.
Поле |
Запись 2 |
Запись 3 |
Транспортная компания |
Серые гуси |
Ночной Пегас |
Доставка авиатранспортом |
Да |
Да |
-
Щелкните на кнопке Сохранить панели инструментов. Поскольку сохраняется новая таблица, появится окно Сохранение.
-
Напечатайте в качестве имени Транспорт и щелкните на ОК. На экране появится окно с предложением создать ключевое поле. В каждой таблице должно быть одно или несколько полей, значения в которых однозначно определяют запись. Ключевые поля помогают программе находить данные, объединять их и обрабатывать наиболее эффективно.
-
Учитывая изложенное, щелкните на кнопке Да. Microsoft Access сам создаст ключевое поле и затем сохранит таблицу под именем Транспорт. Таблица тем не менее с экрана не исчезла, а напротив, даже приобрела новое поле Код. Вам нужно присвоить этому поле свое имя.
-
Дважды щелкните на поле Код, напечатайте Код транспорта и нажмите клавишу Enter.
Как задавать и изменять свойства полей
Свойства поля в первую очередь зависят от типа данных. Так, поля с текстовым и числовым типами данных имеют такое свойство, как размер поля. Этим свойством определяется максимальная длина вводимого в поле значения. Поля типа, «Да/Нет» такого свойства не имеют, поскольку содержащиеся здесь данные имеют фиксированный размер.
-
Щелкните, на стрелке около кнопки Вид, в ниспадающем списке выберите пункт Конструктор. Теперь ваша таблица показывается в режиме конструктора. Значок ключа слева от имени поля Код транспорта указывает, что это поле является ключевым для данной таблицы. В столбце Тип данных перечислены значения, которые Microsoft Access установил для полей самостоятельно без вашей подсказки. Вы легко можете изменить эти значения, если щелкнете в ячейке типа данных соответствующего поля и после щелчка на кнопке со стрелкой выберете нужный тип данных из ниспадающего списка. Свойства полей устанавливают или изменяют на вкладках в нижней части окна Конструктора.
-
Щелкните в столбце Тип данных строки Доставка авиатранспортом и в раскрывающемся списке выберите Логический. В нижней части Конструктора будут перечислены свойства этого поля.
-
В диалоге Свойства поля щелкните на ярлычке вкладки Подстановка. По умолчанию задан тип элемента управления Поле.
-
Щелкните на строке Тип элемента управления. Справа появляется кнопка со стрелкой. Щелчком на ней откройте ниспадающий список и выберите там пункт Флажок. Теперь в таблице и во всех формах, созданных на основе данных таблицы, появится флажок.
-
Переключитесь в режим таблицы, чтобы посмотреть на изменения, которые Вы произвели. Если Microsoft Access спросит вас, нужно ли сохранить таблицу, щелкните в появившемся сообщении на кнопке Да.
-
В окне таблицы щелкните на кнопке Закрыть окно. Таблица закроется, а ее имя появится в списке окна базы данных.
Как задать новые свойства таблицы
Чтобы работать с информацией, включающей также наименование представителя и его телефона, Вам нужно создать свойства новых полей и затем внести в базу данных следующие сведения:
Транспортная компания |
Представитель |
Контактный телефон |
Неутомимые перевозчики |
Клайд Бэрроу |
380 (069) (55-57-83) |
Серые гуси |
Бони Паркер |
380 (065) (57-98-74) |
Ночной Пегас |
Морис Янг |
380 (065) (27-30-53) |
Для этого Вам необходимо выполнить следующие действия:
-
В окне базы данных щелкните на ярлычке Таблицы и выделите таблицу Транспорт.
-
Переключитесь в режим Конструктора таблиц.
-
В столбце Имя поля ниже имеющихся впечатайте названия двух новых полей: Представитель и Контактный телефон.
Как только закончив ввод названия поля и нажав клавишу Tab или Enter, Вы увидите, что Microsoft Access присваивает этим полям по умолчанию текстовый тип данных.
-
Щелкните на строке Контактный телефон. После этого в диалоге свойств дважды щелкните на поле Размер поля и введите с клавиатуры число 24. Теперь вам не удастся ввести в это поле текст длиной более 24 знаков.
-
Сейчас Вы приступите к созданию маски ввода, чтобы избежать расстановки знаков пунктуации, обычно присутствующих в номерах телефонов. Щелкните на поле Маска ввода в окне Свойства поля и затем на появившейся кнопке с изображением многоточия. Если Microsoft Access спросит Вас, сохранить ли таблицу, щелкните на кнопке Да. Microsoft Access запустит Мастер маски.
-
В окне Мастера выделите пункт списка Телефон и щелкните на кнопке Готово. Если в списке отсутствует пункт Телефон, его следует создать. Для этого необходимо щелкнуть на кнопке Список и далее на навигационной кнопке новой записи в появившемся окне. В поле Описание: введите Телефон. В поле Маска ввода сформируйте образец, например, 999 (999) (99-99-99). В качестве заполнителя выберите символ «*». Введите какой-нибудь образец, например, 380 (065) (44-95-62) и щелкните на кнопке Закрыть. Созданная маска ввода появится в общем списке доступных масок.
-
С помощью кнопки Вид переключитесь в режим таблицы и введите данные, сообщенные вам в служебной записки начальника экспедиции. Если появится сообщение с требованием сохранить таблицу, щелкните на кнопке Да.
-
Закройте таблицу. На вопрос о необходимости сохранить изменения щелкните на кнопке Да.
Как воспользоваться фильтром для поиска записей
Вам позвонили из экспедиции и сообщили, что ими получен запрос от некоего Клайда о том, какие товары в ближайшее время будут отправлены самолетом. Им хотелось бы уточнить, какая транспортная компания связана с этим Клайдом.
-
В окне базы данных откройте таблицу Транспорт.
-
Выберите команду меню Записи - Фильтр - Расширенный фильтр.
-
В списке полей в верхней части окна фильтра дважды щелкните на пункте Представитель. Этот пункт переходит в нижнюю часть окна в сетку установок фильтра.
-
Поскольку неизвестно, является ли искомое слово именем или фамилией представителя, введите в поле Условие отбора с клавиатуры выражение *клайд*, указывая таким образом, что образец поиска является только частью имени представителя.
-
Щелкните на кнопке Применить фильтр и посмотрите на результат своих действий.
Окончание занятия
-
Для перехода к следующему уроку щелкните на кнопке Закрыть окно базы данных или выберите команду меню Файл - Закрыть. Вы закроете окна, но останетесь в программе.
-
Для завершения работы щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл - Выход. Вы закроете окна и выйдете из программы.
Занятие 7
УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ
Цель занятия: научиться создавать связи между двумя таблицами; связывать таблицы с несколькими ключевыми полями; выявлять отношения типа многие-ко-многим и использовать связующую таблицу.
Начало занятия
-
Запустите Microsoft Access, если Вы этого еще не сделали.
-
Откройте базу данных Сластена Лили
-
Разверните окно программы до размеров полного экрана.
В этом уроке мы будем пользоваться таблицей Транспорт, полученной в предыдущих уроках. Если Вы пропустили эти уроки, просмотрите их, чтобы добавить указанную таблицу в базу данных Сластена Лили.
Нам также будет нужна таблица Поставка, которую мы импортируем. Для этого выделим в окне базы данных объект Таблицы. В меню Файл выберем Внешние данные – Импорт. Откроется окно Импорт. В поле Тип файлов выберем Paradox. Откроем папку, где хранятся файлы базы данных, выделим файл shipping.db и щелкнем на кнопке Импорт и далее на кнопке Закрыть. Выбранный файл будет помещен в состав таблиц базы данных. Переименуем его, присвоив имя Поставка , откроем и переименуем столбцы: Carrier ID в Код транспорта; Ship State/Province в Поставка в Штат/Провинцию; Shipping Charge в Тариф.
Что такое взаимосвязи ?
Microsoft Access управляет реляционными базами данных. Другими словами, Вы одновременно можете пользоваться сведениями, заключенными в нескольких таблицах базы. Это становится возможным благодаря установлению взаимосвязей между таблицами с использованием ключевых полей.
Взаимосвязи позволяют программе объединять в запросах, формах и отчетах разные данные, относящиеся к какому-либо одному объекту.
В Microsoft Access есть два типа взаимосвязей: отношения один-ко-многим и отношения один-к-одному. В первом случае, более распространенном, одна запись таблицы связана с множеством, записей другой таблицы. Допустим, клиент может разместить несколько различных заказов. Поэтому одной записи в таблице Заказчики, которая в данной взаимосвязи будет главной таблицей, может соответствовать несколько записей в таблице Заказы, которая называется связанной таблицей.
В случае менее распространенного отношения один-к-одному одной записи в главной таблице соответствует только одна запись связанной таблицы. Подобный тип взаимосвязи имеет смысл устанавливать в том случае, когда Вы хотите, например, разделить данные на открытые и конфиденциальные. Например, фамилия, имя и должность сотрудника фирмы могут располагаться в одной таблице, а данные о зарплате - в другой. Между этими таблицами будет существовать отношение один-к-одному, поскольку каждой записи в одной из них соответствует единственная запись в другой.
Примечание. Взаимосвязи между таблицами порой помогают убедиться в том, что таблицы лишены противоречивых сведений: например, что в таблице Заказы нет заказов, которым не соответствовал бы какой-либо клиент из таблицы Заказчики.
Как организовать поля подстановки для связи таблиц
Клиенты обращаются в компанию «Сластена Лили» с целью разместить в ней заказы на шоколадные наборы. В базе данных Сластена Лили имеется соответствующая таблица Заказы, содержащая записи по каждому заказу со сведениями, когда поступил заказ, куда его следует направить, по способу оплаты и т.д. В базе данных есть также таблица Сотрудники с информацией о штате фирмы, такой, например, как имя работника, телефон, дата найма.
-
В окне базы данных откройте вкладку Таблицы и дважды щелкните на значке таблицы Заказы.
-
Выберите команду меню Вставка - Столбец подстановок. По этой команде запускается Мастер Создание подстановки и выдает на экран первое диалоговое окно. Поскольку в поле подстановок будут размещаться данные из другой таблицы, оставьте активной опцию, заданную по умолчанию.
-
Щелкните на кнопке Далее. Мастер в следующем окне спрашивает, в какой таблице или запросе содержатся данные для столбца подстановок.
-
Удостоверьтесь, что в группе опций Показать выделена Таблицы, в списке имен таблиц выделите Сотрудники и щелкните на кнопке Далее. Теперь Вы должны сообщить мастеру, какие поля таблицы Сотрудники должны быть включены в столбец подстановок. Это может быть несколько полей, например Имя и Фамилия, но в самой таблице заказов будет храниться только одно поле значений, а именно Код.
-
Произведите в списке двойные щелчки на пунктах Имя, Фамилия и Код и щелкните на кнопке Далее. Мастер в следующем окне отобразит макет столбца подстановок. Здесь Вы можете отрегулировать размеры колонок, дважды щелкнув на правой границе заголовков. Столбец с кодами (ключевой) по умолчанию скрыт, поскольку вам нет необходимости иметь дело с кодом, когда Вы подставляете имя сотрудника. Тем не менее, значения этого столбца находятся в таблице заказов.
-
Щелкните на кнопке Далее.
-
В ответ на последний вопрос мастера, какое название дать столбцу, напечатайте имя Сотрудники и щелкните на кнопке Готово. Откроется таблица Заказы с новым столбцом в ее левой части. Теперь при приеме заказов сотрудник легко может ввести свое имя, щелкнув в соответствующей записи на кнопке со стрелкой первого столбца Сотрудники и выбрав из открывшегося списка свои данные. Более того, во всех формах, созданных на основе таблицы Заказы, теперь будет находиться комбинированное поле Код.
-
Переключитесь в режим конструктора.
-
Щелкните на области выделения поля Код, находящегося в верхней части списка полей.
-
С помощью мыши, перетащите строку в конец списка.
-
Щелкните на кнопке Сохранить панели инструментов, чтобы сохранить произведенные в таблице Заказы изменения.
-
В нижней части окна конструктора щелкните на ярлычке вкладки Подстановка. В строке Тип элемента управления Вы видите запись Поле со списком — именно так было задано мастером подстановки.
-
Закройте таблицу Заказы.
Как организовать связи в окне схемы данных
При установлении связи между таблицами Транспорт и Поставка ключевое поле Код транспорта является совпадающим.
Данный тип взаимосвязи можно определить как один-ко-многим: каждая транспортная компания устанавливает на свои услуги различные тарифы в зависимости от места доставки. Таким образом, таблица Транспорт является главной. При установлении связи Вы отнесете поле Код Транспорта таблицы Транспорт к совпадающему полю таблицы Поставка.
-
На панели инструментов щелкните на кнопке Схема данных. Откроется одноименное окно.
-
Для выполнения дальнейших процедур окно схемы данных должно быть пустым. Если на вашем компьютере окно заполнено таблицами, соединенными линиями связи, щелкните на кнопке Очистить макет панели инструментов. Если хотите, можете также воспользоваться командой меню Правка - Очистить макет.
-
Выберите команду меню Связи - Добавить таблицу или щелкните на кнопке Отобразить таблицу панели инструментов.
-
В списке таблиц щелчком выделите пункт Транспорт и щелкните на кнопке Добавить.
-
Аналогично поступите с таблицей Поставка. Теперь в окне схемы данных находятся две таблицы.
-
Щелкните на кнопке Закрыть окна Добавление таблицы.
Как создать связь между таблицами
-
В окне Схема данных перетащите имя поля Код транспорта таблицы Транспорт на то же имя в таблице Поставка. Перетаскивать нужно имя поля главной таблицы (Транспорт) в список полей связанной таблицы (Поставка). Как только Вы отпустите кнопку мыши, появится окно Связи. Удостоверьтесь, что в обеих таблицах есть совпадающие поля. В противном случае щелкните на кнопке со стрелкой у имени поля и выделите в открывшемся списке необходимое.
-
Щелкните в диалоговом окне на командной кнопке Создать. Теперь таблица Поставка привязана к таблице Транспорт. Вы видите линию, которая соединяет два совпадающих поля в этих таблицах. Теперь ничто не нарушит связь, пока Вы сами ее не удалите.
-
В окне Схема Данных щелкните на кнопке Закрыть. В появившемся сообщении Вы должны выбрать, сохраните ли Вы макет окна Схема Данных. Заметим, что от вашего решения зависит лишь графическое представление окна. Установленные же связи останутся в вашей базе данных.
-
Щелкните на кнопке Да, чтобы сохранить макет окна взаимосвязей. Открыв в следующий раз окно Схема Данных, Вы увидите его таким, каким сохранили.
Поля связанной таблицы, соответствующие ключевым полям главной таблицы, необязательно должны быть одноименными. Однако они непременно должны содержать совпадающие данные. Кроме того, для них должен быть задан одинаковый тип данных (с двумя исключениями), а поля с цифровым типом данных должны также иметь одинаковый размер.
Что касается упомянутых нами исключений, то, могут совпадать, во-первых, поле счетчика с числовым полем, для которого установлен размер длинного целого, и, во-вторых, реплицировнные поле счетчика и числовое поле, для которого установлен формат длинного целого. Например, для поля Код Транспорта в таблице Транспорт установлен тип данных счетчик, т. е. каждая последующая запись увеличивает значение в этом поле на единицу, а для поля Код транспорта в таблице Поставка установлен числовой тип данных с размером длинного целого.
Как удалить и восстановить связь между двумя таблицами
-
Щелкните на кнопке Схема данных панели инструментов. В окне отобразится схема из двух таблиц, т.е. тот макет, который Вы сохранили.
-
Щелкните на линии связи между таблицами. Толщина линии на экране увеличится.
-
Чтобы теперь удалить связь, достаточно нажать клавишу Delete
-
Прежде чем программа уничтожит связь, Вы должны подтвердить свое решение, получив соответствующее сообщение.
-
Если Вы окончательно решили сделать свои таблицы автономными, щелкните на Да. Линия между таблицами исчезнет, и они станут независимыми.
-
Так же несложно восстановить утерянную связь. Для этого достаточно произвести действия, описанные выше в разделе «Как создать связь между таблицами».
-
Закройте окно схемы данных. В запросе относительно сохранения нового макета можете щелкнуть по вашему желанию либо на Да, либо на Нет.
Как связать таблицы с несколькими ключевыми полями
Некоторые таблицы могут содержать более одного ключевого поля. Если такая таблица является главной, Вы должны связать все ключевые поля с совпадающими полями связанной таблицы.
Чтобы понять, почему это должно быть сделано, обратимся к таблицам Поставка и Заказы базы данных Сластена Лили. Эти таблицы связаны типом соотношения один-ко-многим, причем таблица Поставка является главной.
В таблице Поставка два ключевых поля: Код транспорта и Поставка в штат/провинцию. Прежде чем Microsoft Access свяжет тариф доставки с заказом нужно определить совпадающие поля для обоих; ключевых полей, поскольку размер тарифа зависит и от транспортной компании, которую выбирает клиент, и от места доставки.
-
Щелкните на кнопке Схема данных панели инструментов. Откроется окно Схема данных с макетом, который был в нем на момент сохранения.
-
Щелкните на кнопке Очистить макет панели инструментов и затем в окне-сообщении щелкните на Да.
-
Щелкните на кнопке Добавить таблицу панели инструментов.
-
В диалоговом окне Добавление таблицы выделите в списке и добавьте в окно схемы данных обе таблицы: Поставка и Заказы. Затем закройте окно.
-
В окне схемы данных перетащите имя Код транспорта из списка таблицы Поставка на место Код доставки в списке поля Заказы. Когда Вы отпустите кнопку мыши, откроется окно Связи. Проверьте, чтобы оба связанных поля находились в первой строке списка связанных полей. В противном случае щелкните на кнопке со стрелкой у имени поля и выделите в открывшемся списке необходимое.
-
Щелкните в ячейках, находящихся во второй строке списка связанных полей, затем щелчком на появляющихся справа кнопках со стрелками откройте списки полей и выделите в левом и правом списках соответственно Поставка в штат/провинцию и Штат/провинция получателя.
-
Щелкните в окне на командной кнопке Создать. В окне схемы данных будут отображены связи между таблицами. Картинка будет более наглядной, если Вы перетащите нижнюю границу таблицы Заказы, чтобы в ней появились оба имени связанных полей.
Примечание. Если Microsoft Access сообщит, что установить связь между таблицами невозможно, откройте таблицу Поставка в режиме конструктора. В списке полей значки в виде ключа должны быть у обоих полей Код транспорта и Поставка в штат/провинцию. Тип данных поля Код транспорта должен быть Числовой, а его размер в нижней части Свойства поля должен быть обозначен как Длинное целое. Тип данных поля Поставка в штат/провинцию должен иметь значение Текстовый.
-
Щелкните на кнопке Закрыть окна схемы данных. В появившемся диалоговом окне щелкните на Да, чтобы сохранить макет. Поскольку таблицы теперь связаны, Microsoft Access будет по вашему требованию искать информацию в обеих.
Как установить наличие отношения многие-ко-многим
Когда Вы оцениваете взаимосвязь двух таблиц, важно посмотреть на нее с двух сторон. Дело в том, что отношение, которое мы обозначили как один-ко-многим, может на самом деле оказаться отношением многие-ко-многим. Последнее имеет место, когда одна запись в каждой из таблиц может соответствовать нескольким записям в другой таблице. В таких случаях для установления взаимосвязи вам требуется третья таблица, которая связывает две рассматриваемые.
Наглядным примером подобной взаимосвязи являются таблицы Конфеты и Наборы базы данных Сластена Лили. На первый взгляд между этими таблицами существует отношение один-ко-многим, так как каждый набор комплектуется несколькими сортами конфет. Однако посмотрите на данное отношение со стороны наборов: конфеты одного сорта могут содержаться в разных наборах.
При попытке связать таблицы Вы столкнетесь с проблемой: какая же из таблиц будет главной?
Предположим Вы решили, что главной будет таблица Наборы. Чтобы получить совпадение полей, Вы добавляете к таблице конфет код шоколадного набора. Но в записи, касающейся конфеты «Горная фантазия» (код В02) вам бы пришлось внести уже два кода наборов: для «Времен года» и «Альпийского набора», поскольку указанная конфета является составной частью обоих наборов. Однако в этом случае Microsoft Access не сможет связать запись конфеты с соответствующим набором - в совпадающих полях может содержаться лишь по одному значению. То же самое касается варианта, когда Вы попытаетесь сделать главной таблицу Конфеты.
Решение проблемы состоит в создании связующей таблицы, содержащей ключевые поля таблиц, находящихся в отношении многие-ко-многим. Вы включаете в связующую таблицу дополнительное поле, которого нет ни в одной из связываемых таблиц, но содержащее информацию, значимую для них обеих. В базе данных Сластена Лили такой является таблица Подробности наборов. В нее включены поля кодов конфет и наборов, т.е. ключевых полей обеих таблиц, а также поле Количество, указывающее, сколько конфет данного сорта входит в набор.
Как пользоваться связующими таблицами
Когда Вы создаете связующую таблицу, Вы не добавляете к ней поля, принадлежащие какой-либо из таблиц, между которыми Вы устанавливаете взаимосвязь. Например, представляется логичным добавить в таблицу Подробности наборов поле Название набора. Но это поле уже имеется в таблице Наборы, и ваши действия будут представлять дублирование. Здесь необходим минимум полей — только те, которые определяют связь таблиц (поля кодов), а также поле, данные которого описывают взаимоотношение между записями связываемых таблиц. Поле Количество удовлетворяет этому условию, поскольку его данные относятся к обеим связываемым таблицам: в нем указано сколько конфет того или иного сорта содержится в наборе.
Таблица Наборы связана с таблицей Подробности наборов отношением один-ко-многим. Аналогичное отношение существует и между таблицами Конфеты и Подробности наборов. Таким образом таблица Подробности наборов является связующей между таблицами, имеющими отношение многие-ко-многим.
-
В окне базы данных щелкните на объекте Таблицы, после чего щелкните на кнопке Схема данных панели инструментов.
-
Щелкните на кнопке Очистить макет панели инструментов и затем в окне-сообщении щелкните на Да.
-
Щелкните на кнопке Добавить таблицу панели инструментов.
-
В диалоговом окне Добавление таблицы выделите в списке и добавьте в окно схемы данных таблицы: Конфеты, Подробности наборов и Наборы. Затем закройте диалог. Вы увидите, как действуют связи между таблицами.
Окончание занятия
-
Для перехода к следующему уроку щелкните на кнопке Закрыть окно базы данных или выберите команду меню Файл - Закрыть. Вы закроете окна, но останетесь в программе.
-
Для завершения работы щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл - Выход. Вы закроете окна и выйдете из программы.
КОНТРОЛЬНЫЕ УПРАЖНЕНИЯ К ЗАНЯТИЯМ 6-7
Вы повторите пройденное и потренируетесь:
-
создавать таблицу;
-
создавать взаимосвязи между таблицами;
-
устанавливать в таблице ключевые поля;
-
выявлять отношение многие-ко-многим;
-
создавать связующую таблицу;
-
удалять таблицу из базы данных.
Прежде чем начать работать с запросами, на практическом примере повторите те приемы и процедуры, с которыми познакомились.
Сценарий
Отдел маркетинга компании планирует рекламные мероприятия на следующий квартал. Решено обратить внимание на рекламу отдельных наборов конфет. Вам предстоит создать новую таблицу и связать ее с имеющимися. Когда Вы закончите эти упражнения, таблицу можно будет удалить.
Этап 1. Создайте новую таблицу
Отдел маркетинга собирается с помощью Microsoft Access отслеживать результаты рекламной кампании по отдельным шоколадным наборам и оценивать деятельность сотрудника отдела, ответственного за организацию кампании.
-
Создайте новую таблицу, включающую следующие поля: Код сотрудника, Рекламируемый набор, Код набора и Дата начала кампании. Но при этом не поручайте программе назначение ключевых полей таблицы. Если Вы будете пользоваться мастером таблиц, то для разрабатываемой таблицы наиболее подходит образец Проекты.
-
Сохраните таблицу под именем Реклама.
-
Для поля Код сотрудника выберите тип данных Счетчик.
-
Ключевым сделайте поле Рекламируемый набор.
-
Закройте таблицу и проверьте, появилось ли ее имя в списке таблиц базы данных.
Этап 2. Свяжите таблицы, находящиеся в отношении один-ко-многим
Реклама конкретного набора поручена одному из сотрудников отдела маркетинга, но за каждым сотрудником может быть закреплено несколько наборов. Между таблицами Сотрудники и Реклама надо установить отношение один-ко-многим, и совпадающем полем будет поле Код сотрудника.
-
Определите, какую из таблиц Вы сделаете главной.
-
Воспользуйтесь окном Схема Данных для создания связи между таблицей Сотрудники и Реклама.
-
Не сохраняйте макет окна схемы данных, когда закроете его.
Этап 3. Свяжите таблицы, находящиеся в отношении миогие-ко-миогим
Отделу маркетинга нужны сведения по датам размещения заказов по отдельным видам наборов и мест, откуда заказы поступают. Записи таблицы Заказы содержат информацию о том, когда каждый заказ поступил в компанию, куда он должен быть отправлен и как клиент будет за него расплачиваться. Таблица Наборы посвящена всем выпускаемым шоколадным наборам и включает данные о названии набора, его весе, качественных характеристиках и цене. Нужно при этом учитывать, что каждый заказ может содержать несколько наборов, а каждый набор может входить в несколько заказов. Как же связать эти таблицы, чтобы легко находить названия наборов в конкретном заказе?
-
Проанализируйте с обеих сторон существующее между таблицами Наборы и Заказы отношение.
-
Откройте таблицу Подробности заказов, которая является связующей между интересующими вас исходными таблицами и основана на их ключевых полях. Связующая таблица также содержит поле с данными о количестве того или иного набора в конкретном заказе
-
Закройте таблицу и просмотрите работу связей между всеми тремя таблицами в окне схемы данных.
Подробнее Смотрите
О выявлении отношения многие-ко-многим Занятие 7
О функциях связующих таблиц Занятие 7
Этап 4. Удалите таблицу из базы данных
Руководство отдела маркетинга проинформировало вас, что в дальнейшем оно будет прибегать к услугам сторонних специалистов по организации рекламных кампаний. Поэтому сведения о результативности работы по продвижению товаров на рынке им больше не понадобятся.
1. В окне схемы данных удалите связь между таблицами Сотрудники и Реклама.
2. Перейдя в окно базы данных, удалите оттуда таблицу Реклама.
Подробнее Смотрите
Об удалении связей Занятие 7
Окончание практики
Для перехода к следующему уроку: Щелкните на кнопке Закрыть окно базы данных или выберите команду меню Файл - Закрыть. Вы закроете окна, но останетесь в программе.
Для завершения работы: Щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл - Выход. Вы закроете окна и выйдете из программы.
Занятие 8
ОТБОР НУЖНЫХ ЗАПИСЕЙ
Цель занятия: научиться создавать запрос на основе таблицы или другого запроса; устанавливать условия отбора связанных записей; сортировать данные и «прятать» поле в запросе; создавать запрос, в котором отражены связанные данные; объединять в запросе таблицы и суммировать данные; изменять имя поля в табличном представлении; представлять в полях вычисления.