УМКД. БД. и эксперт УМКД+. Учебнометодический комплекс по дисциплине базы данных и экспертные системы
Скачать 1.37 Mb.
|
Проектирование простых отчетовЦель работы: Научиться проектировать отчеты по отдельным таблицам, вычислять итоги по данным, группировать и сортировать данные в отчетах. Порядок выполнения: Откройте базу данных. Пользователю доступны два способа проектирования отчетов: с помощью мастера по созданию отчетов и с помощью конструктора отчетов. Создайте два автоотчета по запросам, созданным ранее: один в столбец, второй - ленточный. Сохраните каждый из них под своем именем. Создайте отчет с помощью мастера отчетов. Для этого: в разделе Отчеты окна базы данных нажмите кнопку Создать. выберите опцию Мастер отчетов и нажмите кнопку ОК. в следующем диалоговом окне мастера последовательно выберите несколько полей , которые будут включены в отчет и перейдите в следующее окно. в следующем окне задаются поля для группировки (группировка задается по полям, в которых повторяются значения. Например: группы для студентов или отделы для сотрудников). Для данного отчета с помощью кнопки < отмените группировку и перейдите в следующее окно. в следующем окне задайте порядок сортировки по фамилиям. в следующих двух окнах выберите вид макета отчета и стиль вывода заголовков в создаваемом отчете. Затем задайте имя созданному отчету и завершите его создание. Просмотрите созданный отчет. Выполните доработку созданного отчета с помощью конструктора. Для этого в окне базы данных , то имя отчета следует маркировать и затем щелкнуть на кнопке Конструктор. Затем внесите следующие изменения в проект отчета: В область заголовка введите заголовок отчета. В область примечания отчета вставьте формулу для вычисления, например суммы по зарплате или стипендии. Для этого вставьте в поле примечания свободное поле, в свойствах выберите закладку данные и с помощью построителя выражений задайте формулу =SUM([имя_поля]). Заголовок к полю введите "ИТОГО:". Создайте еще один отчет с помощью мастера отчетов, в котором задайте поле для группировки, отсортируйте данные в группе и, нажав кнопку Итоги для выполнения расчетов по группам, выберите, какие итоговые значения вы хотите получить. Задайте стиль и имя для созданного отчета. Просмотрев отчет, доработайте его с помощью конструктора. Создайте отчет с помощью конструктора с нуля. Для этого: В окне базы данных щелкните кнопку Создать, выберите в качестве источника данных таблицу или запрос и выберите режим Конструктор. Появится проект отчета содержащий область данных и колонтитулы. Откройте список полей из панели инструментов и вставьте нужные в область данных. Заголовки к полям разместите в верхнем колонтитуле, а сами поля в одной строке область данных. Ширину этой области уменьшить до размеров этой строки. В область нижнего колонтитула вставьте нумерацию страниц отчета. Для чего вставьте свободное поле и задайте формулу, например =page. Для создания заголовка и итоговых строк в меню ВИД щелкните команду заголовок/примечание отчета. В появившейся области заголовка введи заголовок, выбери для него стиль и шрифт. Вставьте в область заголовка знак фирмы, созданный ранее, как рисунок в графическом редакторе. В область примечания отчета задайте формулу для подсчета общего количества сотрудников или студентов, используя встроенную функцию Сount( ). Для группировки данных в отчете в меню ВИД щелкните команду Сортировка и группировка. В появившемся окне задайте поле, относительно которого будет выполняться группировка. Здесь же можно задать условие сортировки. Обратите внимание на свойства групп. В проекте отчета должны появиться области "заголовок группы" и "примечание группы". В область заголовка группы вставьте поле по которому выполняется группировка, а в область примечания группы - формулу для подсчета количества человек относящихся к каждой группе. Разделите строки и столбцы в отчете горизонтальными и вертикальными линиями. Сохраните проект отчета под именем и просмотрите его. Создайте отчет по нескольким таблицам с помощью мастера отчетов. Доработайте этот отчет с помощью конструктора. Закончить работы с базой данных. Лабораторная работа №9-10 Основы программирования на Visual Basic Цель работы: Научиться использовать Visual Basic для: организации комплексного ввода дополнительных данных во время выполнения программы. использования переменных, без которых невозможно решить некоторых задачи. использования условного цикла или цикла с заданным числом повторений. Основная теория: Основой программы на Visual Basic является процедуры, состоящие из инструкций, которые выполняют необходимые действия и вычисления. Процедуры хранятся в модулях. Модули подразделяются на стандартные и модули форм и отчетов. Стандартные модули представлены в окне базы данных. Вызов этих процедур может осуществляться из процедур обработки событий, процедур других стандартных модулей, макросов и просто из выражений. Модули форм и отчетов создается автоматически при создании формы или отчета и является частью их описания. Стандартный модуль состоит из раздела описаний и процедур: Общая область Раздел описаний Процедура 1 . .. ... ... Процедура N В стандартном модуле могут храниться обычные процедуры типа Sub и Function. Sub-процедура - это подпрограмма, которая не возвращает значения. Function - процедура-функция, которая возвращает значение. При объявлении требуется соблюдать правила описания процедур. Формат описания для процедуры Sub Sub имя ([ аргумент]) инструкции end sub Необязательный аргумент позволяет передавать в процедуру требуемые значения. Процедура Sub вызывается инструкцией: Call имя. Синтаксис описания функции очень похож на синтаксис процедуры Sub, но есть и отличия: Function имя ([ аргумент]) [ as тип] инструкции имя = выражение end function Параметр as тип позволяет явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant. Если в разделе описания модуля помещена инструкция Option Explicit, то неявное описание запрещено. Функцию можно вызвать из выражения. Константы и переменные могут бать описаны как в разделе описания модуля, тогда они доступны во всех процедурах модуля, так и внутри процедур, тогда они действуют только в ее пределах. Формат описания переменных: Dim Имя переменной [ as тип данных] Основные типы данных, которые используются при описании: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String, Variant, Object. Если тип данных не указан, по умолчанию переменная получает тип Variant. Данные этого типа интерпретируются в зависимости от операции, в которой они используются, т.е. тип может меняться. Формат описания констант: Const Имя константы = значение Константы может определять пользователь и можно использовать стандартные константы , определенные системой. Первые две буквы в имени встроенных констант являются префиксом. Константы из библиотеки VBA имеет префикс "vb". Константы библиотеки Access имеют префикс "as". В выражениях могут использоваться стандартные функции языка. Перечислим некоторые из них: математические: Sin(x), Sqr(x), Exp(x), Log(x), Tan(x), Int(x) и пр.; преобразования: Str(s), Chr(x), Val(s); системные функции: InputBox- функция ввода данных через системное окно, MsgBox - функция выдачи сообщений в системное окно. Эти функции удобны для организации ввода - вывода в процессе работы программы. Формат функции ввода: Переменная=InputBox(Приглашение[, заголовок][, начальное значение]) Функция InputBox возвращает значение типа String. Например: Dim c as string Dim g as integer c=InputBox("Введи наименование товара:") g=Val(InputBox("Введи его цену:",,0) Формат функции вывода сообщений: [Переменная=]MsgBox(Текст[,опция][,Заголовок]) Опция ОР определяет внешний вид окна. Значение ОР=ОР1 + ОР2 ОР1-определяет вид пиктограммы выводимой в окне. Значения этой опции приведена в следующей таблице:
Например: x=MsgBox("Возможна ошибка!",VbExclamation) или x=MsgBox("Возможна ошибка!",48) OP2 - опция определяет набор кнопок выводимых в окне. Значения этой опции приводится в следующей таблице:
Например: x=Msgbox("Функция="+str(f),VbOKOnly,"Результаты расчета") x=MsgBox("Будете еще вводить?, VbYesNo+VbQuestion, "Запрос") или x=MsgBox("Будете еще вводить?,36,"Запрос") Функция MsgBox возвращает значение, которое зависит от того, какая кнопка была нажата в окне. Значения, возвращаемые функцией приведены в следующей таблице:
Например: x=MsgBox("Распечатать документ?,36) if x=6 then Call PrintRep Каждая инструкция в процедуре записывается с новой строки. Чтобы записать несколько инструкций в одной строке их надо разделять символом двоеточие. Если инструкция слишком длинна, то в конце строки вводят символ продолжения строки - подчеркивание ( _ ) - ф затем нажимают клавишу В языке Visual Basic Имеется целый набор инструкций, управляющих порядком выполнения команд. Рассмотрим некоторые из них. Инструкция If ...Then ... Else Формат: if условие Then [инструкции] [else инструкции] End if Например, разработаем процедуру вычисления функции f=y/c, где y=5, а с- вводится с клавиатуры. Если будет введено с=0, должно выводиться сообщение. Sub prim() Dim f,c As Single Dim y As Integer y=5 c=Val(InputBox("Введи С:")) if c=0 Then MsgBox("Функция не существует!") else f=y/c MsgBox("функция="+str(f)) end if end sub Инструкция Select Case Формат: Select Case выражение Case списокВыражений-1 инструкции . . . Case списокВыражений-n инструкции [Case else инструкции] End Select Например, необходимо определить значение скидки, обработав значение переменной UnOrder следующим образом: Select Case UnOrder Case 1 Discount=0 Case 2, 3 Discount=0.1 Case 4 To 6 Discount=0.2 Case Is>6 Discount=0.5 End Select Цикл For ...Next Формат: For счетчик=начало То конец [Step шаг] инструкции Next Счетчик - любая числовая переменная. Например, вычислим функцию f=a*x2,где а=3,а переменная х =[1,5], шаг=1 Sub prim2() Dim a,x,f As Integer a=3 For x=1 To 5 f=a*x^2 MsgBox("X="+str(x)+" F="+str(f)) Next End Sub Цикл While ... Wend Формат: While условие инструкции Wend Реализуем предыдущий пример, но таблица выводится по-другому: Tabvivoda="" ' Переменная, в которой формируется таблица для вывода |