WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 9 |

Вычисления для одной записи и для группы записей Предположим, что отчет построен по запросу, содержащему поля НазваниеТовара, КодЗаказа, Цена, Количество.

Для вычисления суммы за товар по каждой записи в область данных отчета поместить элемент «Поле» (вычислимый элемент управления). В свойство «Данные» для поля написать выражение =[Цена]*[Количество] Для вычисления суммы по всем товарам группы КодЗаказа, в заголовок или примечание группы поместить элемент «Поле». В свойство «Данные» для поля написать выражение =Sum([Цена]*[Количество]) !!! В качестве аргумента выражения функции Sum можно использовать имена полей таблицы или запроса (в том числе вычисляемых полей запроса), но не имена элементов управления.

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

Например, в элементе управления =[Цена]*0.При подведении итога =Sum([Цена]*0.75) При вычислении, чтобы гарантировать точность результатов, следует округлять полученные значения до 2-х знаков с помощью функций CLng, Cint или Int.

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

В качестве образца использовать в базе Борей.mdb или NWIND.mdb отчет «Суммы продаж по годам».

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

Свободный главный отчет может служить контейнером нескольких не связанных между собой отчетов, которые требуется объединить.

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

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

В главный отчет наряду с подчиненными отчетами включают также подчиненные формы, причем число таких подчиненных форм не ограничивается. Более того, главный отчет может содержать подчиненные формы или отчеты двух уровней вложенности.

Например, в отчете может содержаться подчиненный отчет, который в свою очередь содержит подчиненную форму или подчиненный отчет. Возможные комбинации подчиненных форм и отчетов демонстрируются в следующей таблице (в Help «Общие сведения о подчиненных отчетах»).

Этапы создания отчета:

1. Создать главный отчет (объект «Отчеты» и щелкнуть по кнопке «Создать»).

2. Создать подчиненные отчеты обычным образом (объект «Отчеты» и щелкнуть по кнопке «Создать»).

3. Вставка подчиненного отчета в главный.

3.1. Главный отчет должен находиться в режиме конструктора.

3.2. Добавить в соответствующий раздел элемент управления «Подчиненная форма/ подчиненный отчет».

3.3.Подчиненному отчету указать свойства «Объект – источник», «Основные поля» и «Подчиненные поля».

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

28).

Рис. 28. Определение свойств для элемента «Подчиненная форма/ подчиненный отчет».

3. Создать отчет аналогичный отчету из базы Борей или NWIND «Продажи по годам».

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

Обратите внимание на то, что форма с вводом периода дат вызывается из события Открытие для отчета. А значения введенных дат являются параметрами запроса «Продажи по годам». В свою очередь запрос «Продажи по годам» является источником для главного отчета. Главный и подчиненный отчеты связаны по году (поле Год).

Вывод данных в несколько столбцов Если данные в отчете необходимо выводить в несколько столбцов, то установите Параметры страницы (меню «Файл» пункт «Параметры страницы», вкладка «Столбцы», задать значения для число столбцов, интервал строк, столбцов.

4. Вывести список товаров по маркам в 2 столбца.

Образцом является отчет из базы Борей «Товары по типам».

Лабораторная работа №Работа с отчетами Цель: Приобрести умения и навыки при работе с отчетами. Научиться создавать отчеты и запускать их из формы.

1. Создать запрос ЗаказыКлиентов из таблиц Заказы (взять поля КодЗаказа, ДатаРазмещения), Типы (поле Категория), Товары (поле Марка), Заказано (поля Цена, Количество, скидка), Клиенты (поле Название).

Создание отчета с помощью конструктора 2. Создать отчет ЗаказыКлиентов, в котором информация должна быть представлена по заказам с позициями товаров в заказе. Вычислять через отчет сумму по каждому товару и по каждому заказу.

2.1. Объект «Отчеты» и щелкнуть по кнопке «Создать». Выбрать «Конструктор». В качестве источника выбрать запрос ЗаказыКлиентов.

2.2. В «Область данных» добавить необходимые поля через элемент «Поле» с панели элементов или через пункт «Список полей» в меню «Вид». Добавьте поле для суммы по товару.

2.3.В «Верхний колонтитул» добавьте надпись отчета через элемент «Надпись» с панели элементов. Просмотрите отчет в режиме просмотра.

2.4. Меню «Вид» _ пункт «Сортировка и группировка». Выбрать поле КодЗаказа. В «Свойствах группы» выбрать «Заголовок группы» и установить его значение в «Да», «Примечание группы» установить его значение в «Да».

2.5. Из «Области данных» в «Заголовок группы КодЗаказа» перенести поля КодЗаказа, Название (клиента), ДатаРазмещения. Просмотреть отчет в режиме просмотра.

2.6. В поле Сумма вычислить значение итоговой суммы по товару.

2.7. В «Примечание группы КодЗаказа» добавить поле для итоговой суммы по заказу.

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

2.8. В «Верхний колонтитул» добавить надписи для полей (элемент «Надпись» с панели элементов). Организовать красивое форматирование отчета (Свойства отчета, вкладка «Макет»).

2.9. Сделать дополнительную группировку по полю ДатаРазмещения, добавив заголовок и примечание группы. В «Примечание группы» добавить поле для суммы по ДатаРазмещения. В окне «Сортировка и группировка» поле ДатаРазмещения перенести выше поля КодЗаказа. Просмотреть отчет.

Открытие отчета Метод OpenReport выполняет макрокоманду «ОткрытьОтчет» (OpenReport) в программе Visual Basic.

Синтаксис DoCmd.OpenReport имяОтчета [, режим] [, имяФайла] [, условиеWhere] Параметры (аргументы) в квадратных скобках являются необязательными. Метод OpenReport использует следующие аргументы.

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

режим Одна из следующих встроенных констант:

acViewDesign (конструктор) acViewNormal (печать, значение по умолчанию) acViewPreview (просмотр) Константа acViewNormal задает немедленный вывод отчета на печать.

Если оставить данный аргумент пустым, подразумевается значение по умолчанию (acViewNormal).

имяФайла Строковое выражение, представляющее допустимое имя запроса в текущей базе данных.

условиеWhere Строковое выражение, представляющее допустимое предложение SQL WHERE без ключевого слова WHERE.

Максимальная длина строки в аргументе условиеWhere составляет 32768 символов (в отличие от аргумента «Условие отбора» в окне макроса, максимальная длина которого составляет 256 символов).

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

В следующем примере отчет «Продажи» печатается с использованием запроса «Фильтр для отчета»:

DoCmd.OpenReport "Продажи", acViewNormal, "Фильтр для отчета" 3. Создать форму ЗапускОтчета, в которой разместить два поля дат (ДатаНачала и ДатаКонца) и кнопку, по которой будем вызывать отчет. Использовать команду Docmd.OpenReport, поля ДатаНачала и ДатаКонца включить в строку условия команды.

«Создать» 3.1. Добавить поля для границ дат в верхний колонтитул отчета. Значения в эти поля класть из полей формы или работать через глобальную переменную (Создать модуль (Объект «Модули» и щелкнуть по кнопке «Создать»). В модуле создать глобальную переменную и написать две функции: положить в глобальную переменную и взять из глобальной переменной. Использовать эти функции в форме и отчете). Для дат необходимо делать преобразование дат через функцию Format (смотри файл справки).

3.2. В форму ЗапускОтчета добавить поле со списком для выбора клиента. Использовать это поле в строке условия для отчета.

3.3. Если работает мастер отчетов, то создать отчет аналогичный предыдущему.

Лабораторная работа №Элементы управления на форме Цель: Приобрести умения и навыки при работе с элементы управления на форме. Научиться создавать элементы управления и работать с ними из VBA.

1. Поле со списком или список Чтобы указать какие строки должны быть включены в список или поле со списком, следует использовать свойства «Тип источника строк» (RowSourceType) и «Источник строк» (RowSource).

Чтобы включить в Значение свойства «Тип Значение свойства список источника строк» «Источник строк» Строки из таблицы или Таблица/запрос (по Имя таблицы или запроса умолчанию) запроса Строки, полученные с Таблица/запрос (по инструкция SQL помощью инструкции умолчанию) SELECT SQL Список значений, Список значений Список значений, указанных разделенных точками с пользователем запятой Имена полей таблицы Список полей Имя таблицы или или запроса запроса Значения, полученные с Имя функции (пусто) помощью определяемой пользователем функцию VBA Можно эти свойства задать программно.

В следующем примере для свойства «Тип источника строк» (RowSourceType) поля со списком задается «Таблица/запрос», а в свойстве «Источник строк» (RowSource) указывается запрос «СписокСотрудников».

Forms!Форма1!ПолеСоСписком2.RowSourceType = "Таблица/запрос" или Forms!Форма1!ПолеСоСписком2.RowSourceType ="Table/Query" в зависимости от версии MS Access (Использовать клавишу F1 на RowSourceType в окне Visual Basic).

Forms!Форма1!ПолеСоСписком2.RowSource = "СписокСотрудников" Свойства элемента управления «Поле со списком» или «Список» Имя элемента Вкладка «Другие»_ Имя элемента на форме управления «Имя» Данные Вкладка «Данные»_ Это поле из таблицы или «Данные» запроса, которое указано в качестве источника строк формы, в которой находится этот элемент управления.

Число столбцов Вкладка «Все»_ «Число Количество столбцов в столбцов» списке (н-р, 3) Ширина столбцов Вкладка «Все»_ Ширина ст.1; ширина «Ширина столбцов» ст.2;…;

0 означает, что столбец не будет виден в списке Заглавия столбцов Вкладка «Все»_ Да или нет «Заглавия столбцов» Присоединенный Вкладка «Данные»_ Значение этого столбца столбец «Присоединенный попадет в таблицу или столбец» запрос в поле, указанное в свойстве «Данные» Ограничиться списком Вкладка «Данные»_ «нет» тогда в это поле (имеет смысл, если «Ограничиться можно вводить значения связанный столбец один списком» и он изображается в поле со списком) Свойство «Column» определяет конкретный столбец или комбинацию столбца и строки элемента управления (поля со списком или списка). Синтаксис свойства «Column»:

Control.Column(column, row) Элемент Описание Control Обязательный элемент. Объект, представляющий собой активный список или поле со списком Column Обязательный элемент. Целое число в диапазоне от 0 до значения свойства ColumnCount минус 1, указывающее столбец (нумерация столбцов с нуля).

Row Необязательный элемент. Целое число в диапазоне от 0 до значения свойства ListCount минус 1, указывающее строку (нумерация строк с нуля).

Это свойство может использоваться, например, для присвоения значения указанного элемента списка значению поля или другого элемента управления.

Если Вы создали элемент управления «Список», и необходимо из списка выбирать сразу несколько значений, то в свойстве «Несвязанное выделение» следует выбрать «Со связанным выбором» (рис. 29).

Рис. 29. Установка свойства «Несвязанное выделение» Теперь удерживая нажатой клавишу CTRL и щелкая левой кнопкой мыши по значениям из списка, Вы сможете выбрать сразу несколько значений.

Все выбранные элементы попадут в коллекцию «ItemsSelected». Доступ к этой коллекции осуществляется через свойство «ItemsSelected», возвращающее ссылку на семейство «ItemsSelected», которое содержит в отличие от других семейств не объекты, а значения типа Variant. Эти значения представляют собой целочисленные индексы, указывающие положение выделенной строки в списке.

Свойство «ItemData» возвращает значение, содержащееся в присоединенном столбце указанной строки элемента управления «Список» (ListBox). Синтаксис свойства «ItemData»:

control.ItemData(rowindex) Элемент Описание Control Обязательный элемент. Объект, представляющий собой Список (ListBox) или Поле со списком (ComboBox) Rowindex Обязательный элемент. Целое число в диапазоне от 0 до значения свойства ListCount минус 1, определяющего строку, из которой вы хотите получить значение Представленные свойства можно использовать для получения данных из выделенных строк списка.

Sub RowsSelected() Dim ctlList As Control, varItem As Variant ' создать объект Control для списка Set ctlList = Forms!Employees!EmployeeList ' Пройти по выбранным элементам списка For Each varItem in ctlList.ItemsSelected ' Вывести значения Debug.Print ctlList.ItemData(varItem) Next varItem End Sub 1. Создать элемент управления «Поле со списком» и программно получить и использовать его значение.

2. Создать элемент управления «Список» с возможностью выбора сразу нескольких значений. Программно получить и как-то отобразить выбранные значения.

2. Флажки, переключатели, выключатели В установленном состоянии эти элементы соответствуют значению «Да» или «истина», а в снятом – «Нет» или «ложь».

Пример использования флажка Сведения в коде программы:

If Forms![Продажи по годам]!Сведения Then Me!Отображение.Value = False Else Cancel = True End If 3. Создать элементы управления «Флажок», «Переключатель», «Выключатель» и программно получить и использовать их значения.

3. Группа Группа используется для выбора из ограниченного набора. Группа содержит несколько флажков или переключателей или выключателей. Каждый элемент в группе имеет уникальное числовое значение (свойство «Значение параметра»). После выбора элемента из группы, значение группы станет равным значению выбранного элемента.

Пример В базе Борей.mdb (nwind.mdb) в форме Телефоны клиентов в элементе группа ОтборКлиентов после обновления значения группы запускается макрос Телефоны клиентов.

Рис. 30. Пример группы выключателей Рис. 31. Выключатель в группе Еще пример работы со значением элемента управления «Группа» Select Case Me!ОтборКлиентов Case MsgBox "A" Case MsgBox "B" … End Select 4. Создать элемент управления «Группа» и программно получить и использовать его значение.

Лабораторная работа №Модель доступа к данным ADO Цель: Приобрести умения и навыки доступа к данным, используя модель ADO.

Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 9 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.