Имя материала: Access97 - шаг за шагом

Урок 9. отображение в форме данных из разных таблиц

 

Вы научитесь:

создавать формы с помощью мастера форм;

использовать запрос в качестве базиса для создания формы;

добавлять элемент управления в форму;

запускать макрос с помощью командной кнопки.

 

Используя взаимосвязь данных в базе, можно строить запросы, которые позволяют извлекать и обобщать информацию из разных таблиц. Разработанные на основе подобных запросов формы позволяют одновременно просматривать и редактировать несколько таблиц. Такие формы имеют сложную структуру и состоят из главной и вложенной в нее подчиненной форм. Пример сложной формы уже рассматривался в уроке 2 «Использование форм для повышения эффективности работы».

В этом уроке вы узнаете, как с помощью запроса получить связанные данные из нескольких таблиц и как создать форму, включающую поля различных таблиц. Вы также узнаете, как добавлять в запрос командные кнопки, предназначенные для запуска макроса. Макрос представляет собой заданную последовательность команд Microsoft Access. В следующем уроке вы научитесь создавать макросы.

 

Начало урока

 

Запустите программу Microsoft Access, если она еще не загружена. Откройте базу данных Сластена Лили. Разверните окно базы данных до размеров полного экрана.

За дополнительной информацией об открытии базы данных обратитесь к уроку 1.

 

Использование форм для просмотра нужных данных

 

В соответствии с изложенными в уроке 4 «Расширение баз данных» основными принципами проектирования баз данных, характеристики объектов следует хранить в отдельных таблицах, чтобы избежать дублирования информации. Однако довольно часто возникает необходимость одновременно просматривать или редактировать данные из нескольких таблиц. Так, например, при добавлении в базу нового набора конфет, кроме описания набора в целом, которое хранится в таблице Наборы, нужно ввести данные о его составе, содержащиеся в таблице Подробности наборов.

 

Создайте сложную форму с помощью Мастера форм

 

Предположим, что деятельность компании «Сластена Лили» настолько успешна, что она буквально завалена заказами. Служащим компании срочно требуется форма, в которой будут представлены все заказы определенного заказчика. Необходимая информация содержится в двух таблицах: За-,казы и Подробности заказов. Воспользуйтесь Мастером форм, так как это простейший способ создать форму, отвечающую поставленной задаче.

1. В окне базы данных щелкните на вкладке Формы (Forms) и затем щелкните на кнопке Создать (New).

2. Выделите пункт Мастер форм (Form Wizard). При работе с Мастером форм прежде всего необходимо выбрать запрос или таблицу, данные из которых будут использоваться в форме. Изображение на вашем экране должно выглядеть, как показано на следующем рисунке.

3. Щелкните на стрелке поля Выберите в качестве источника данных таблицу или запрос (Tables Queries), выделите таблицу Заказчики и щелкните на кнопке ОК.

Поля таблицы Заказчики отобразятся в списке Доступные поля (Available Fields).

4. В списке Доступные поля (Available Fields) щелкните на поле Код заказчика и затем щелкните на кнопке Выбрать (Select), расположенной между списками доступных и выбранных полей.

Поле Код заказчика переместится в список Выбранные поля (Selected Fields).

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

6. Щелкните на стрелке поля Таблицы/запросы (Tables Queries) и выделите запрос Форма заказов.

7. Переместите поля Код заказчика, Код заказа и Дата заказа из списка Доступные поля (Available Fields) в список Выбранные поля (Selected

Fields), поочередно щелкнув на каждом из них и затем щелкнув на кнопке выбора.

8. Щелкните на кнопке Далее (Next). В очередном окне мастера Создание форм (Form Wizard) предлагается выбрать тип представления данных.

9. Выделите пункт По Заказчики. Убедитесь, что выбран вариант Подчиненные формы (Form with Subforms), и затем щелкните на кнопке Далее (Next). Появится следующее окно мастера форм, предлагающее выбрать внешний вид формы.

10. Выделите вариант Табличный (Datasheet) и щелкните на кнопке Далее (Next). В правой части очередного окна мастера появится список различных стилей оформления формы, а слева будет представлен образец выделенного стиля. Стиль Обычный в большинстве случаев является самым подходящим.

11. Выделите стиль Обычный (Standard) и щелкните на кнопке Далее (Next). Появится последнее окно мастера, в котором нужно задать имена главной и подчиненной формам и указать, нужно ли открыть форму.

12. Согласитесь с предложенными именами форм. Убедитесь, что выбран вариант Открытие формы для просмотра или ввода данных (Open The Form To View And Enter Information), и щелкните на кнопке Готово (Finish). Формы откроются в Режиме формы (Form View) и будут выглядеть, как показано на следующем рисунке.

 

Просмотрите несколько записей

 

Чтобы убедиться, что таблица Заказчики и запрос Форма заказов связаны между собой, просмотрите несколько записей.

1. Внизу формы Заказчики1 щелкните на кнопке Следующая запись (Next Record).

В окне формы отобразится второй заказчик, Stephen Репсе, а в подчиненной форме будут представлены его заказы.

2. Щелкните на кнопке Следующая запись (Next Record) внизу подчиненной формы, чтобы перейти к следующему заказу этого клиента.

Будет выделена запись, соответствующая второму заказу.

3. Закройте форму Заказчики1. Мастер форм автоматически сохранит формы.

 

Автоматизация работы с помощью командных кнопок

 

В Microsoft Access многие процедуры выполняются автоматически. Так, например, мастера форм, таблиц или отчетов выполняют последовательность шагов, необходимую для создания объекта. В предыдущем упражнении мастер форм использовал специальный язык баз данных, чтобы связать форму с соответствующей таблицей или запросом.

Одним из способов автоматизации заданной последовательности действий является создание макроса. Макрос содержит список команд Microsoft Access, которые выполняются одна за другой. Макросы представляют собой мощное средство повышения эффективности работы с данными. В уроке 2 приведен пример включения в форму командной кнопки, которая запускает макрос Show Box Sales. Этот макрос открывает для просмотра данные о продажах наборов.

Другой путь создания автоматизированных процедур состоит в написании программ с помощью Visual Basic for Applications (VBA). VBA является развитым языком программирования, который позволяет расширить возможности баз данных, учесть их особенности и упростить работу с ними. Программирование на VBA не является предметом изучения данной книги. Для ознакомления с основами VBA обратитесь к руководству «Microsoft Visual Basic. Шаг за шагом».

 

Как Создать кнопку просмотра

 

Начав работать с формой Заказчики1, служащие компании столкнулись с необходимостью уточнять детали отдельного заказа. Макрос Обзор заказа позволяет быстро выполнить эту задачу. Чтобы служащие могли просматривать заказ, не выходя из формы Заказчики1, добавьте в нее командную кнопку для запуска макроса.

 

Откройте макрос

 

В этом упражнении вы откроете макрос Обзор заказа и ознакомитесь с ним.

1. В окне базы данных щелкните на вкладке Макросы (Macros).

2. Выделите макрос Обзор заказа и щелкните на кнопке Конструктор (Design).

В окне макроса перечислены входящие в него макрокоманды. В некоторых случаях макросу, перед его выполнением, нужно указать специальные параметры, называемые аргументами. Значения аргументов задаются в нижней части окна макроса. Макрос Обзор заказа использует команду Открытьформу (OpenForm), .    чтобы открыть форму Подробности заказов. Эта команда может иметь до шести аргументов. Аргумент Условие отбора (Where Condition) используется для отбора записей из базовой таблицы или базового запроса. Более детально макросы рассматриваются в уроке 10 «Совершенствование ввода данных».

3. Закройте окно макроса Обзор заказа.

 

Добавьте в форму командную кнопку

 

1. В окне базы данных щелкните на вкладке Формы (Forms).

2. Выделите форму Заказчики1 и щелкните на кнопке Конструктор (Design). Форма откроется в режиме конструктора.

3. На панели элементов выделите элемент управления Кнопка (Command Button) и затем щелкните в форме справа от поля Код заказчика. (Кнопка Мастер на панели элементов должна быть нажата.)

Появится окно мастера Создание кнопок (Command Button Wizard), с помощью которого можно задать ссылку на макрос или построить программу. В данном случае нужно указать макрос.

4. В списке Категории (Categories) выделите пункт Разное (Miscellaneous) и затем выделите значение Запуск макроса (Run Macro) в столбце Действия (Actions). Щелкните на кнопке Далее (Next).

Мастер Создание кнопки выдаст на экран список всех макросов в базе данных.

5. Выделите макрос Обзор заказа и затем щелкните на кнопке Далее (Next). Откроется следующее окно мастера, где можно указать текст или рисунок, который появится на командной кнопке.

6. Выделите вариант Техт (Text) и введите в соседнее поле Обзор заказа.

7. Щелкните на кнопке Далее (Next). Появится последнее окно мастера, позволяющее присвоить имя командной кнопке.

8. Введите имя кнопки Обзор заказа и затем щелкните на кнопке Готово (Finish). Форма должна выглядеть, как показано на следующем рисунке.

 

Испытайте командную кнопку

 

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

1. Переключитесь в Режим формы (Form View).

На экране появится запись для первого заказчика.

2. Щелкните на командной кнопке Обзор заказа.

Откроется форма Подробности заказов для выделенного в подчиненной форме заказа. Воспользуйтесь кнопками перехода, чтобы детально просмотреть заказ.

3. Закройте форму Подробности заказов. Перейдите к следующему заказу данного заказчика, щелкнув на кнопке Следующая запись (Next Record) на панели перехода подчиненной формы.

4. Щелкните на командной кнопке Обзор заказа. Откроется форма Подробности заказов для следующего заказа.

5. Сохраните и закройте форму Заказчики"!.

 

Примечание. Если вы хотите получить дополнительные сведения по теме урока, выполните упражнения раздела «Шаг вперед». В противном случае переходите к разделу «Окончание урока».

 

Шаг вперед: добавление в форму вычисляемого элемента управления

 

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

Вопросы построения выражений рассматриваются в приложении В «Использование выражений».

Формулу для вычислений можно как непосредственно ввести в поле Данные, так и воспользоваться для этого Построителем выражений. Построитель предлагает набор операторов, функций и объектов базы данных, из которых компонует сложное выражение.

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

1. Выделите форму Продажа наборов и затем щелкните на кнопке Конструктор (Design).

2. На панели элементов щелкните на элементе управления Поле (Text Box), а затем щелкните в форме под полем Всего. В форме появится текстовое поле и надпись к нему.

3. На панели инструментов Конструктор форм (Form Design) щелкните на кнопке Свойства (Properties), чтобы открыть окно свойств для нового поля.

4. Выделите вкладку Данные (Data) и затем щелкните в поле Данные (Control Source). Форма должна выглядеть, как показано на следующем рисунке.

5. Щелкните на кнопке Построить (Build), чтобы открыть окно Построителя выражений (Expression Builder). Окно Построителя выражений включает поле для ввода выражения, кнопки операторов и список всех объектов базы данных. Ваш экран должен выглядеть, как показано на следующем рисунке.

6. В строке кнопок операторов, расположенной под полем выражения, щелкните на кнопке со знаком равенства. Знак равенства будет помещен в поле выражения.

7. Щелкните дважды на папке Forms в левом списке. Появятся две вложенные папки: Загруженные формы (Loaded Forms) и Все формы (All Forms). Диалоговое окно должно выглядеть, как показано на следующем рисунке.

8. Щелкните дважды на папке Загруженные формы (Loaded Forms), щелкните дважды на папке Продажа наборов и щелкните на папке Подчиненная для продажи наборов. Все объекты в форме Подчиненная для продажи наборов появятся в среднем списке окна.

9. Прокрутите список до поля Среднее и выделите его.

10. Щелкните на кнопке Вставить (Paste), чтобы поместить поле в область выражения.

В поле выражения появится полное описание поля: =[Данные для Продажи].[Form]![Среднее], где «Данные по продажам» является Именем подчиненной формы в форме Продажи наборов. Диалоговое окно Построителя должно выглядеть, как показано на следующем рисунке.

11. Щелкните на кнопке ОК. В поле Данные нового элемента управления появится формула.

 

Выполните редактирование свойств элемента управления

 

1. Щелкните на элементе управления Надпись (Label) слева от элемента, с которым вы работали. Если окно свойств мешает вам, передвиньте его.

2. В окне свойств активизируйте вкладку Макет (Format), в поле свойства Подпись (Caption) введите Среднее: и нажмите клавишу Enter.

3. Закройте окно свойств. Если нужно, подгоните элемент с надписью «Среднее:» под длину содержащегося в нем текста.

4. Закройте форму. Если появится запрос на сохранение изменений, щелкните на кнопке Да (Yes).

5. Откройте форму Наборы и затем щелкните на командной кнопке Продажи вверху формы. Откроется форма Продажа наборов. Внизу формы указано значение средних продаж.

6. Закройте форму.

 

Окончание урока

 

1. Чтобы перейти к следующему уроку, щелкните на команде Закрыть (Close) в меню Файл (File).

2. Если вы завершили работу с программой Microsoft Access, щелкните на команде Выйти (Exit) в меню Файл (File).

 

Краткое содержание урока

 

Чтобы

Сделайте следующее

Создать форму с помощью Мастера форм

В окне базы данных щелкните на вкладке Формы (Forms). Щелкните на кнопке Создать (New). Выделите пункт Мастер форм (Form Wizard). Следуйте далее указаниям мастера.

Воспользоваться запросом в качестве базиса формы

Следуя указаниям Мастера форм (Form Wizard), выделите нужный запрос в ниспадающем списке Таблицы/запросы (Tables/Queries). Выберите включаемые в форму поля, переместив их из списка Доступные ПОЛЯ (Available Fields) в список Выбранные поля (Selected Fields). Выполните оставшиеся шаги мастера.

Добавить командную кнопку в форму

В окне базы данных на вкладке Формы (Forms) выделите нужную форму и щелкните на кнопке Конструктор (Design), чтобы открыть форму в режиме конструктора. На панели элементов щелкните на элементе Кнопка (Command Button), а затем щелкните в нужном месте формы. Следуйте указаниям мастера Создание кнопки (Command Button Wizard). Если нужно, задайте свойства командной кнопки, щелкнув на кнопке Свойства (Properties).

 

 

Для получения справки о том, как

Воспользуйтесь Помощником для поиска тем

Использование командных кнопок

Создание-кнопки без помощи мастера.

Создание макросов

Создание макроса.

Вычисление полей

Создание вычисляемого элемента управления.

 

Часть 3. Обзор и упражнения

 

В следующих упражнениях вам предстоит.

построить запрос и задать условие отбора;

указать в запросе диапазон данных и выполнить их сортировку;

создать запрос, включающий связанные таблицы;

сгруппировать данные в запросе;

создать форму на основе запроса;

добавить в форму командную кнопку.

 

В этом разделе вы примените на практике знания, полученные при изучении части 3. Выполняя следующие упражнения, вы создадите запросы, построите на их основе формы и добавите в них командные кнопки.

 

Постановка задачи

 

Компания «Сластена Лили» постоянно проводит исследования, целью которых является увеличение выпуска продукции при снижении затрат. Руководство отдела маркетинга интересуют сведения о покупателях, предпочитающих качественные, но недорогие конфеты. Отдел доставки занимается поиском транспортных компаний, предлагающих оптимальные условия перевозок. Предположим, что сотрудники отделов обратились к вам за помощью в решении этих задач.

 

Шаг 1: создайте запрос и укажите условие отбора

 

Отдел маркетинга хотел бы получить информацию о заказах на наборы цены которых находятся в определенном диапазоне. Создайте запрос позволяющий получить нужные данные для наборов, имеющих вес 375 и цену не более 12 тыс. руб.

1. Создайте новый запрос, воспользовавшись данными таблицы Наборы.

2. Добавьте в запрос поля, чтобы отобразить название, вес и цену наборов.

3. Введите выражение, позволяющее отобрать наборы, вес которых равен 375 г.

4. Введите выражение для поиска наборов, цена которых не превышает 12 тыс. руб.

5. Выполните запрос.

6. Закройте запрос, не сохраняя его.

 

Шаг 2: задайте сортировку и диапазон выбора данных

 

Компания «Сластена Лили» придает большое значение продвижению на рынок наборов, имеющих умеренную цену. Предположим, что необходимо организовать рекламу наборов, цена которых находится в диапазоне от 10 до 15 тыс. руб. при условии, что их количество на складе не превышает 400 коробок.

1. Создайте новый запрос на базе таблицы Наборы.

2. Добавьте в запрос поля, содержащие название, цену и количество набора.

3. Отсортируйте данные в алфавитном порядке по названиям наборов.

4. Воспользуйтесь выражением, включающим условные операторы, чтобы задать диапазон цен от 10 до 15 в условии отбора записей. (Введите >=10 and <=15.)

5. Введите выражение, чтобы ограничить результаты запроса наборами, количество которых не больше 400.

6. Выполните запрос.

7. Сохраните запрос под названием Наборы с умеренными ценами. Закройте запрос.

 

Шаг 3: создайте запрос, который включает связанные таблицы

 

Отделу маркетинга необходимы данные о клиентах, которые заказывают конфеты во время зимних праздников. Предположим, что к вам обратились за списком заказчиков, разместивших заказы в период с 12 по 25 декабря. Создайте соответствующий запрос.

1. Создайте новый запрос и добавьте в него таблицы Заказы и Заказчики.

2. Добавьте в запрос поле, содержащее код заказа.

3. Добавьте нужное поле и задайте условие отбора, чтобы выбрать все заказы, размещенные в интервале между 12 декабря 1996 года и 25 декабря 1996 года.

4. Добавьте в запрос поле, содержащее фамилию заказчика.

5. Выполните запрос.

6. Сохраните запрос под названием Праздничные заказы. Закройте запрос.

 

Шаг 4: сгруппируйте данные в запросе

 

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

1. Добавьте таблицы Подробности наборов и Наборы в запрос Праздничные заказы.

2. Добавьте поле Количество из таблицы Подробности наборов и поле Цена набора из таблицы Наборы.

3. Добавьте новое поле Сумма заказа, которое вычисляется по формуле: Количественна набора.

4. В меню Вид (View) выберите Групповые операции (Totals), чтобы добавить строку Группировка в образец запроса. В строке Группировка для поля Сумма заказа выберите в списке Sum.

5. Скройте столбцы Количество и Цена набора, чтобы улучшить отображение результатов запроса.

6. Выполните запрос.

7. Закройте запрос и сохраните изменения.

 

Шаг 5: создайте форму на базе запроса

 

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

1. Добавьте Фамилию и Имя получателя из таблицы Заказы в запрос Праздничные заказы.

2. Воспользуйтесь Мастером форм для построения формы на базе запроса Праздничные заказы.

3. Сохраните форму, присвоив ей имя Срочные заказы.

 

Шаг 6: добавьте в форму командную кнопку

 

В период праздников наличие наборов становится актуальным, поэтому перед приемом заказа нужно убедиться, что данный набор имеется на складе. Макрос Наличие открывает запрос Наличие наборов, который позволяет проверить наличие на складе наборов, указанных в заказе. Добавьте в форму командную кнопку для запуска макроса.

1. Добавьте в форму командную кнопку.

2. Задайте макрос Наличие в поле свойства Нажатие кнопки на вкладке События окна свойств для командной кнопки.

3. Сохраните и проверьте форму.

 

Окончание упражнений

 

1. В меню Файл (File) щелкните на команде Сохранить (Save).

2. Чтобы перейти к следующему уроку, в меню Файл (File) щелкните на команде Закрыть (Close).

3. Если вы закончили работу с Microsoft Access, в меню Файл (File) щелкните на команде Выход (Exit).

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |