Технологии работы с СУБД MS ACCESS. Проектирование форм и отчетов

Автор работы: Пользователь скрыл имя, 17 Января 2014 в 13:04, реферат

Описание работы

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных корпорации Microsoft. Она имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку Visual Basic for Applications, в самом Access можно писать приложения, работающие с базами данных. В самом широком смысле любая программа имеет дело с некоторой внешней по отношению к ее коду информацией, задающей какие-либо параметры или режим ее работы. Такую информацию также называют данными программы.

Содержание работы

ВВЕДЕНИЕ 3
1 ПРОЕКТИРОВАНИЕ ФОРМ 5
1.1 ФОРМЫ И СПОСОБЫ ИХ СОЗДАНИЯ……...……………………..……………..5
1.2 СОЗДАНИЕ ФОРМЫ С ПОМОЩЬЮ КОНСТРУКТОРА…..………………..………9
1.3 ГЛАВНЫЕ И ПОДЧИНЕННЫЕ ФОРМЫ 10
1.4 СОЗДАНИЕ КНОПОЧНЫХ ФОРМ 13
2 ПРОЕКТИРОВАНИЕ ОТЧЕТОВ 16
2.1 НАЗНАЧЕНИЕ И СОЗДАНИЕ ОТЧЕТОВ 16
2.2 СОЗДАНИЕ ГЛАВНЫХ И ПОДЧИНЕННЫХ ОТЧЕТОВ 18
2.3 ОБРАБОТКА ОТЧЕТОВ 26
ЗАКЛЮЧЕНИЕ 28
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30
КОНТРОЛЬНЫЕ ВОПРОСЫ 31
ГЛОССАРИЙ 32
ТЕСТ 33

Файлы: 1 файл

КИТ на отправку.doc

— 393.50 Кб (Скачать файл)

Способы создания отчета. В программе MS Access можно создавать отчеты с помощью нескольких способов:

    • Конструктор
    • Мастер отчетов
    • Автоотчет: в столбец
    • Автоотчет: ленточный
    • Мастер диаграмм
    • Почтовые наклейки

 

Рисунок 2.2- Окно «Новый Отчет»

 

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

Мастер помещает выбранные поля в отчет и предлагает несколько стилей его оформления.После завершения работы Мастера полученный отчет можно доработать в режиме Конструктора.При помощи функции Автоотчет, можно быстро и легко создать отчет, а затем внести в него определенные изменения.Автоотчет    Функция «Автоотчет» позволяет быстро создать отчет, включающий все сведения заданной таблицы или данные, извлеченные в результате запроса. В качестве основы для отчета можно использовать таблицу или результат запроса.   

Мастер отчетов позволяет быстро создать отчет на основе данных нескольких таблиц или запросов. В качестве основы для отчета можно использовать сочетание таблиц и запросов.    

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

    1. В окне базы данных в группе Объекты нажмите кнопку Отчеты  .
    2. Нажмите кнопку Создать на панели инструментов окна базы данных.
    3. В диалоговом окне Новый отчет выберите пункт Конструктор.
    4. Выберите таблицу или запрос, содержащие данные, на которых должен быть основан отчет. (Если нужно создать свободный отчет, не выбирайте ничего из этого списка.)

 

 

 

 

2.2 Создание главных и подчиненных отчетов

 

 

Подчиненные отчеты могут  создаваться двумя способами:

    • с помощью Мастера подчиненной формы/отчета для создания нового подчиненного отчета в существующем отчете;
    • путем внедрения уже существующего отчета (или формы) в другой отчет (в этом случае внедряемый отчет становится подчиненным).

Для того чтобы продемонстрировать, как создаются составные отчеты, мы построим отчет, показывающий квартальные обороты клиентов. Сначала нужно создать запрос, который будет базовым для главного отчета. Этот запрос будет иметь параметр [Отчетный год:] и выбираться будут все клиенты, которые имеют заказы в указанном году.

Этот запрос очень  просто создать на основе имеющегося в базе данных "Борей" подобного  запроса "Квартальные обороты" (Quarterly Orders):

Выделите названный  запрос в окне базы данных и скопируйте его, используя команды копирования и вставки Правка, Копировать (Edit, Copy) и Правка, Вставить (Edit, Paste). Дайте ему название "Квартальные обороты клиентов".

Откройте его в режиме Конструктора.Удалите последнее  поле "ДатаРазмещения" (OrderDate) из таблицы  полей внизу окна запроса и вместо него вставьте вычисляемое поле: ГодЗаказа: Year ("[ДатаРазмещения]) (для английской версии используйте английское имя поля OrderDate, в качестве имени вычисляемого поля можете задать OrderYear), а в строку Условие отбора (Criteria) введите имя параметра запроса [Отчетный год: ]. Сохраните и закройте запрос.

Рисунок 2.3- Базовый запрос для отчета "Квартальные обороты клиентов"

 

Теперь создадим отчет  на основе только что созданного запроса. Для этого можно воспользоваться  Мастером отчетов (Report Wizard) .

Выберите для помещения  в отчет поля "Название" (CompanyName), "Город" (City) и "Страна" (Country), отсортируйте записи по полю "Название", выберите тип отчета в столбец (Column) и один из предложенных стилей отчета. В результате вы получите отчет примерно такой, как изображен на рис. 2.3 .

Для того чтобы построить  подчиненный отчет, содержащий квартальные  обороты клиентов, воспользуемся  уже готовым запросом "Квартальные  обороты по товарам" (Quarterly Orders by Product), слегка его изменив. А именно, нужно удалить из запроса последнее поле "ДатаРазмещения" (OrderDate), для которого задано лишнее в нашем примере условие выборки. Тогда запрос будет выглядеть так, как это представлено на рис. 2.4. Сохраните его с именем "Квартальные обороты клиентов по товарам".

Рисунок 2.4- Главный отчет составного отчета

 

Рисунок 2.5- Базовый запрос для подчиненного отчета

 

Чтобы создать подчиненный  отчет, воспользуемся Мастером подчиненных  отчетов. Для этого:

Откройте отчет "Квартальные  обороты клиентов" в режиме Конструктора.

Выберите элемент управления Подчиненная форма/отчет на Панели элементов  и разместите его в разделе Область данных ниже полей, содержащих данные о клиенте. (Кнопка Мастерадолжна быть нажата.)В первом диалоговом окне мастера выберите переключатель Имеющиеся таблицы и запросы  (рис. 2.5). Нажмите кнопку Далее .

Рисунок 2.6-Первое диалоговое окно Мастера подчиненных отчетов

 

Во втором диалоговом окне мастера нужно определить, какие  поля требуется включить в подчиненный  отчет (рис 2.6). При этом поля в общем случае можно выбирать из нескольких таблиц и запросов. В данном случае нужно в раскрывающемся списке Таблицы и запросы (Tables/Query) выбрать запрос "Квартальные обороты клиентов по товарам" (который был создан для этого примера), затем нажать кнопку с двумя стрелками, чтобы включить в подчиненный отчет все поля запроса, и нажать кнопку Далее (Next).

Рисунок 2.7- Второе диалоговое окно Мастера подчиненных отчетов

В следующем диалоговом окне необходимо определить связь между главным и подчиненными отчетами, если эта связь существует, или выбрать из списка значение Отсутствует (None), если вы создаете независимый подчиненный отчет. В данном случае можно выбрать связь в отображенном списке, но нам предложенные варианты не подходят, поэтому выберите переключатель Самостоятельное определение (Define my own), чтобы задать эту связь самостоятельно.

Замечание. Так как поля в связываемых источниках данных имеют одинаковые типы и названия, Мастер подчиненных отчетов может автоматически связать отчеты по этим полям. Именно такие связи будут предложены в списке возможных вариантов связывания отчетов.

В диалоговом окне появятся две пары раскрывающихся списков (рис.2.8). В списках слева отображаются поля главного отчета, а в списках справа — связанные с ними поля подчиненного отчета. Связь может быть задана по одному или нескольким полям. В данном случае требуется задать связь по двум полям, чтобы связать источники данных главного и подчиненного отчетов одновременно и по коду клиента, и по отчетному году. Для этого выберите в раскрывающихся списках слева элементы: "КодКлиента" (CustomerlD) и "ГодЗаказа" (OrderYear), и соответствующие (с такими же именами) элементы в раскрывающихся списках напротив (справа), как представлено на рис. 2.8.

Рисунок 2.8- Третье диалоговое окно Мастера подчиненных отчетов

 

То, что между главным  и подчиненным отчетами установлена  связь по полям "КодКлиента" и "ГодЗаказа", означает, что каждая запись в главном отчете будет  связана с набором записей  из подчиненного отчета, имеющих соответствующие значения в связанных полях. А поскольку значение года заказа в главном отчете определяется значением параметра запроса [Отчетный год:], то в связанном описанным способом подчиненном отчете будут отобраны только те записи, у которых значение поля "ГодЗаказа" совпадет со значением такого же поля в главном отчете, а значит, и с заданным пользователем значением параметра [Отчетный год: ].

Определив связь между  отчетами, нажмите кнопку Далее (Next).

В последнем диалоговом окне требуется задать имя подчиненного отчета. Вы можете оставить предложенное мастером название "Подчиненный отчет Квартальные обороты клиентов по товарам" и нажать кнопку Готово(Finish).

В результате в главном  отчете будет создано поле Подчиненный отчет (Subreport). Вам потребуется только настроить высоту и ширину этого поля, удалить его метку, и вы получите отчет, аналогичный изображенному на рис. 2.9.

Рисунок 2.9- Отчет "Квартальные обороты клиентов"

 

В качестве подчиненного отчета может быть использована и форма. Например, отчет, аналогичный только что описанному, можно получить с помощью уже имеющейся в базе данных "Борей" формы "Подчиненная для квартальных оборотов" (Quarterly Orders Subform) как показано на данном примере:

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

Источник данных для формы доступен в режиме Конструктора в окне свойств формы как свойство Источник записей (Record Source) на вкладке Данные (Data).

Затем скопируйте созданный  ранее отчет "Квартальные обороты  клиентов", задав ему новое  имя "Квартальные обороты клиентов 2", и откройте его в режиме Конструктора.

Удалите подчиненный  отчет и вместо него просто перенесите с помощью мыши созданную форму  из окна базы данных в область данных отчета. Автоматически будет создан элемент Подчиненная форма/отчет(Subform/Subreport) с именем "Подчиненная для квартальных оборотов".

Теперь настройте высоту и ширину созданного элемента и в  свойствах подчиненной формы  на вкладке Данные (Data) определите связующие поля. Для этого нажмите кнопку Построителя справа от свойства Подчиненные поля (Link Child Fields) и задайте в появившемся диалоговом окне две пары одноименных связанных полей: "КодКлиента" (CustomerlD) и "ГодЗаказа" (OrderDate), таким же образом, как это было описано в предыдущем примере. Указанные поля запишутся в качестве значений свойств Подчиненные поля (Link Child Fields) и Основные поля (Link Master Fields).

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

="Итоги за " & [Reports]![Квартальные  обороты клиентов 2]![Подчиненная для квартальных оборотов].[Report]![ГодЗаказа]

(для английской версии  используйте название поля OrderYear). Второе поле содержит сумму  всех заказов клиента за год  и вычисляется с помощью следующего  выражения:

=[Подчиненная для квартальных оборотов].Form![Итого]

(для английской версии  используйте название поля Total), т.  е. отображает поле "Итого" (Total) из подчиненной формы "Подчиненная  для квартальных оборотов". Отформатируйте  созданное поле для отображения  в нем денежной суммы в том же виде, как отображаются денежные суммы в подчиненной форме, скопировав значения свойств Формат поля (Format) и Число десятичных знаков (Decimal Places).

Рисунок 2.10 - Составной отчет, включающий подчиненную форму

 

2.3 Обработка  отчетов

 

В Access  обработка отчетов с помощью средств пользовательского интерфейса напоминает работу с формами. Теперь вы сможете управлять процессом вывода отчетов на экран. По-видимому, разработчики Access поняли, что пользователи применяют отчеты практически так же, как и формы, для вывода информации на экран, а не только для печати. В Access  отчеты имеют уже знакомые вам свойства Modal, Popup, BorderStyle, AutoResize, AutoCenter, MinMax- Buttons, CloseButton и Control Box. Большинство из них, как и свойства форм, можно найти в окне свойств отчетов Properties на вкладке Format.

В Access  вы можете открывать  отчеты в фоновом режиме при помощи метода OpenReport. Кроме того, как и  формы, отчеты в Access  поддерживают свойство Ореп- Args. Это свойство позволяет  передать отчету параметры вызова метода Do- Cmd. OpenReport, получить которые можно в обработчике события Open данного отчета. Некоторые действия над отчетами могут выполняться только из обработчика этого события (например, изменение свойства отчета RecordSource). Если свойство OpenArgs недоступно, разработчики вынуждены получать эту информацию, присваивая новое значение свойства RecordSource глобальной переменной или значению элемента управления открытой формы. Наконец, в такие данные можно передавать непосредственно в отчет.

Примером использования  подобной технологии может служить  код в обработчике события Open формы frmLabel sOpenArgs из модуля CH08.MDB.

Процедура обработки  события проверяет, было ли передано ей свойство OpenArgs. Если да, свойству отчета RecordSource присваивается соответствующее значение. (В коде используется оператор On Error Resume Next, потому что значение свойства OpenArgs может оказаться недействительным источником данных и код примера не будет в такой ситуации выполняться корректно.)

Информация о работе Технологии работы с СУБД MS ACCESS. Проектирование форм и отчетов