Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

К__JOIN С




В таблице К хранится информация о размещении сотрудников по кабинетам. В таблице

Запрос 2.3. Найти тех, кто не имеет детей.

Запрос 2.1. Запрос, который подсчитает, сколько детей в каждом отделе.

Разработать запросы на языке SQL и нарисовать бланки этих запросов в режиме

Запрос 1.5.

Запрос 1.4.

SELECT Ребенок.Фамилия, Ребенок.Имя,

MonthName(Month([ДатаРождения]),1) AS [Месяц Рождения]

FROM Ребенок;

TRANSFORM Count(Фамилия) AS [Количество Детей]

SELECT ФИО, Count(Фамилия) AS [Всего Детей]

FROM Ребенок INNER JOIN (Работник INNER JOIN Дети

ON Работник.КодРаботника = Дети.КодРаботника)

ON Ребенок.КодРебенка = Дети.КодРебенка

GROUP BY ФИО

PIVOT Отдел;

 

Конструктора.

 

Запрос 2.2. Найти самого взрослого ребенка

Запрос 2.4. Кому надо сделать новогодний подарок, если их дают детям до 10 лет.

 

 

3. Для запросов 1.1, 1.3, 1.4, 2.4 нарисовать таблицы результатов.

 

 

4. Операции реляционной алгебры:


 

4.1. Нарисовать таблицу результатов для операции


 

d3=Дмитрий


 

Or 3=Юля(Ребенок)


 

или


Ребенок(Имя = Дмитрий или Имя=Юля)

С хранится информация о сотрудниках. Какой оператор соединения используется для

результата, который получен в таблице К __ JOIN C. Описать смысловое значение

полученного отношения.


 

К


 

C


 


Кабинет


Сотрудник


Сотрудник


Фамилия

Иванов

Петров

Сидоров


Кабинет


Фамилия

Иванов

Петров


 

78


 

Тема 8. Элементы автоматизации приложения

Теоретические сведения

При разработке приложений используется множество объектов, таких как формы,

отчеты, таблицы, элементы управления, наборы записей и т.д. Управление этими объектами

основывается на установке их свойств и вызове методов, то есть функций, определяющих

поведение объектов. Событийная модель программирования предполагает создавать

процедуры, вызываемые при обработке событий, происходящих в процессе работы

пользователя с приложением.

Стандартные модули содержат общие процедуры, которые могут использоваться и

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

тело функции заключается между операторами Function и End Function. Аналогично

программа VBA является фрагментом программного кода, заключенного между

операторами Sub и End Sub. Модули форм и отчетов связаны с соответствующими формами

и отчетами.

Для хранения значений, выполнения вычислений и передачи параметров в процедуры

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

компилятору, какое количество памяти необходимо резервировать для этой переменной и

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

VBA определены операции с числами, строками, датами и логическими значениями. Для

управления в программах используются конструкции ветвления If…Then…Else и оператор

выбора Select Case. При простом ветвлении удобно использование функции IIf, которая

имеет формат:

IIf(<выражение>,<значениеЕслиДа>,<значение ЕслиНет>).

Операторы цикла в VBA можно разделить на три группы:

- циклы с условием (Do…Loop);

- циклы со счетчиком (For…Next);

- циклы по структуре данных (For Each…Next).

Для вызова подпрограмм и функций можно использовать следующие формы:

<имяПроцедуры> <список ФактическихПараметров> или

Call <имяПроцедуры> (<список ФактическихПараметров>) или

<имяПеременной>=<имяФункции> (<список ФактическихПараметров>).

Подробнее основы языка VBA рассматриваются в соответствующих разделах курсов

―Компьютерные информационные технологии‖ и ―Основы программирования‖, здесь же

приобретаются навыки использования ранее написанных функций и адаптация

предлагаемых кодов к применению в разрабатываемом приложении, поэтому строки кода

VBA комментируются описанием тех действий, которые они выполняют при автоматизации

работы приложения.

Объектная модель Microsoft Access представлена такими объектами, как Application

(Приложение Access), Forms (Формы), Reports (Отчеты), Controls (Элементы управления),

DoCmd (Выполнить макрокоманду), CurrentData (Объекты базы данных: таблицы –

AllTables, запросы – AllQueries, и.т.д.). Доступ к объектам, входящим в семейство, возможен

через упоминание имени семейства и различных операций с семействами, установке или

получении конкретных свойств объекта и вызове их методов.

Для быстроты разработки желательно использовать электронный вариант

лабораторной работы, поскольку можно не набирать достаточно объемный код, а

скопировать его и адаптировать в своем приложении. При выполнении заданий следует

придерживаться той последовательности выполнения, которая позволит создать проект

приложения и внести корректировки в модули форм и отчетов, предлагаемых в данном

пособии. Каждое задание ставит определенную цель автоматизации работы с приложением и

пошагово позволяет достичь желаемого результата.

 

79


 

Практические задания

Задание 8.1. Разработка пользовательской функции.

Требуется получить ведомость оплаты за обучение с подсчетом итоговой суммы и

прописыванием ее текстовой прописью, по примеру, представленному на рисунке 8.1.

 

Рис. 8.1. Отчет Ведомость оплаты в режиме просмотра

 

Рекомендации по выполнению:

1. Создать запрос Платники, в котором выбрать всех студентов, обучающихся на

внебюджете и которые вносят плату за образование.

2. На основе этого запроса разработать отчет по примеру, представленному на рис. 8.2.

3. В режиме Конструктора в области примечания отчета следует вставить три

элемента управления: два поля a и b и надпись c.

 

 

Рис. 8.2. Вид отчета в Конструкторе

 

80

 
 


 

3.1. В поле a с помощью встроенной функции подсчитывается общая сумма по полю

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

использовать функцию Sum (рис. 8.3). Подпись надписи поля изменить на Итого.

 

Рис. 8.3. Свойства поля a

 

 

3.2. В поле b надпись поля следует выделить и удалить, а для самого поля присвоить имя

пропись (рис. 8.4). В качестве данных будем использовать пользовательскую функцию

SumPropis, которая осуществляет прописывание прописью числового данного, заданного в

качестве ее аргумента. Поскольку поле итог может содержать достаточно большое число, для

текстовой записи может не хватить предусмотренного размера поля, который можно

расширить, если установить параметр свойства Расширение в значение Да.

 

Рис. 8.4. Свойства поля b

 

В стандартный модуль проекта VBA следует поместить программный код функции

SumPropis и ряд вспомогательных функций, выделяющих из исходного числа единицы,

десятки, сотни, тысячи и другие разряды, и определяющих род для корректного

прописывания текстом цифр в числовом значении.

Исходный код находится в файле Functions_8.txt. Скопируйте в Буфер Обмена текст

кода, раскройте кнопку Макрос на закладке Создание и выберите строку Модуль.

Откроется окно модуля VBA, в который и вставьте скопированный фрагмент.

 

81

 
 


 

3.3. Перейдите в режим Конструктора, создайте надпись c и введите текст для подписи

бухгалтера.

 

4. Просмотрите отчет в режиме предварительного просмотра перед печатью и

убедитесь в полученном результате.

 

 

Задание 8.2. VBA для связи приложений.

При работе в офисных приложениях часто приходится формировать документы в

текстовом редакторе Word, куда необходимо переносить информацию, хранящуюся в базе

данных. Технология автоматизации позволяет управлять этим процессом на программном

уровне.

В данном задании необходимо создать процедуру, с помощью которой можно будет

выдавать студенту справку о том, где он учится (с указанием факультета, специальности,

курса, группы и фамилии и др. информации). Вид справки представлен ниже на рис. 8.5.

 

Рис. 8.5. Вид бланка справки из деканата

 

 

В места подчеркивания вставляется информация, которая хранится в базе данных

«Студенты», что продемонстрировано на рис.8.6.

 

 

Рис. 8.6. Вид заполненной справки из деканата

 

Рекомендации по выполнению:

Сначала необходимо создать в Word документ, вид которого приведен на рис. 8.7,

только в места подчеркивания потребуется вставить закладки (отмечены серой чертой) с

понятными именами. Закладки добавляются с помощью одноименной кнопки на вкладке

Вставка ленты инструментов. Документ необходимо сохранить на диске (предположим, в

головной папке диска D:\) под именем Справка.docх.

 

 

82

 
 


 

Рис. 8.7. Документ справки с закладками

 

Затем создается сложная форма (рис. 8.8), с подчиненными формами, которые

обеспечат удобный просмотр структурированной информации из базы данных.

 

Рис. 8.8. Сложная форма

 

Работа с такой формой позволяет выбирать факультет, листать список специальностей

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

котором вначале загружаются все поля из таблицы Факультет, затем все поля, кроме Код

факультета, из таблицы Специальности, и, наконец, все поля, кроме Код специальности и

83

 
 


 

Фото, из таблицы Студенты. Для включения Мастера форм нужно раскрыть кнопку

Другие формы на закладке Создание.

На рис. 8.9–8.13 продемонстрированы шаги Мастера по выбору полей для создания

сложной формы, вида представления подчиненных форм и стиля главной формы.

 

 

Рис. 8.9. Выбор полей из таблицы Студент

 

 

Выбираем вид представления данных, внешний вид подчиненных форм (ленточный

для Специальности и табличный для Студенты) и стиль Стандартная.

 

 

Рис. 8.10. Выбор вида представления данных

 

84

 
 


 

Рис. 8.11. Выбор вида подчиненных форм

 

 

Рис. 8.12. Выбор стиля формы

 

 

Соглашаемся с именами форм, задаваемыми по умолчанию и активизируем опцию

Изменить макет формы (рис. 8.13). В режиме Конструктора необходимо выделить все

элементы формы и в контекстном меню выбрать команду Макет — Удалить. После этого

разместить поля, как показано на рис. 8.14, а в свойствах подчиненной формы

 

 

85

 
 


 

Специальности выбрать режим по умолчанию одиночная форма, тогда в подчиненной

форме будет отображаться информация об одной специальности. Для табличной формы

Студенты можно уменьшить ширину полей прямо в режиме работы с формой.

 

 

Рис. 8.13. Задание имен формам

 

 

Рис. 8.14. Форма в режиме Конструктора

 

 

86

 
 


 

На следующем этапе создается кнопка, нажатие на которую обеспечит доступ к файлу

D:\Справка.docx, при этом поля текущей записи из формы будут вставлены в места

закладок. Для этого в режиме Конструктора формы выберем инструмент Кнопка (кнопка

Использовать мастера должна быть отключена) и начертим кнопку в свободной области

формы. Сменим подпись на кнопке — Формирование справки, так как оно должно

соответствовать действию.

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

для события Нажатие кнопки.

В открывшемся окне редактора Visual Basic между строк

Private Sub Кнопка11_Click()

 

End Sub

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

ButtonClick_8.txt. Обратите внимание, какие длинные конструкции определяют элементы

управления главной и подчиненных форм.

 

В коде из файла ButtonClick_8.txt организован доступ к файлу справки с помощью

закладок, которые по очереди выделяются и вместо них из полей сложной формы методом

TypeText вводятся значения активной записи, на которую указывает маркер. Используются

коллекции для работы с объектами Bookmarks – закладки и Forms – формы.

 

В программе используется также метод Select, который позволяет получить новый

объект выделения – Selection, к которому применяются следующие методы:

– GoTo – переход к новому выделению, задаваемому параметром Name;

– TypeText с параметром Text, которому присваиваются цепочки, указывающие на

вставляемый элемент из формы или подчиненной формы.

 

ВНИМАНИЕ!!!

Во-первых, не забудьте, что в коде наш файл справки расположен в корневой папке

диска D:. Внесите необходимые корректировки, если вы используете другое место

размещения документа.

Во-вторых, в редакторе VBA необходимо подключить ссылку на библиотеку объектов

MS Word 12.0. Для этого в меню редактора VBA нажать пункт Tools – References…. В

списке найти и установить флажок для строки Microsoft Word 12.0 Object Library.

 

Теперь вернемся в Access, перейдем в режим работы с формой и протестируем

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

требуется выдать справку. Нажимаем на кнопку Формирование справки (рис. 8.16).

В результате будет загружен файл Справка.docx, в котором появится фамилия

выбранного студента, факультет и специальность (рис. 8.15).

 

 

Рис. 8.15. Результат заполнения полей справки данными их формы

 

 

87

 
 


 

 

Замечание. Файл Справка.docх можно закрыть, не сохраняя внесенных изменений.

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

 

Рис. 8.16. Формирование справки для выбранного студента

 

Самостоятельная работа

Доработать код программы-обработчика события нажатия на кнопку так, чтобы в

справке отображалась информация о группе и курсе, на котором учится студент (рис. 8.15).

Результат продемонстрировать преподавателю.

 

Контрольные вопросы

1. В коде функции SumPropis (файл Functions_8.txt) имеются функции для работы с

текстом: Len, UCase, Mid. Используя Help-справочник, изучите и опишите их

назначение.

2. Какой оператор в языке VBA используется для сцепки текстовых данных и как он

применяется в функции SumPropis?

3. Какие управляющие конструкции используются в коде, приведенном в файле

Functions_8.txt?

4. Какие изменения потребуется сделать, чтобы в справке печаталось полное название

специальности?

5. Какое приложение в задании 8.2 выступает в роли сервера автоматизации, а какое в

роли клиента автоматизации?

 

88

 


 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 691; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.417 сек.