- •Информационные технологии
- •Информационные технологии
- •230201 – Информационные системы и технологии
- •Содержание
- •Введение
- •Шаблоны
- •Задание № 1
- •Пример выполнения задания
- •1.Создание делового письма на интересующую вас тему, используя «Мастер писем».
- •2. Создание служебной записки.
- •4. Составление повестки дня.
- •5. Создание календаря.
- •6. Освоение технологии работы со стилями.
- •2. Создание макросов Основные понятия
- •Задание № 2
- •Пример выполнения работы
- •I. Создание простейших макросов в программе word.
- •1. Создание первого макроса – Удалить _До_Конца_Строки.
- •2. Запуск макроса на выполнение.
- •3. Подключение макроса к панели инструментов.
- •4. Закрепление макроса за комбинацией клавиш.
- •5. Создание второго макроса – Темно_Красный_Цвет.
- •II.Создание шаблона из документов с помощью макросов.
- •2. Создание макроса для заполнения полей созданного шаблона.
- •3. Использование шаблона.
- •Контрольные вопросы.
- •Рассылка почты при помощи «Ассистента слияния».
- •Основные понятия
- •Принцип слияния
- •Контрольные вопросы
- •Создание презентаций с помощью приложения
- •Основные понятия
- •Задание к лабораторной работе
- •1. Создать презентацию – прогноз погоды.
- •2. Создание презентации – Давайте знакомиться.
- •Пример выполнения работы
- •Контрольные вопросы:
- •Поиск решения
- •Основные понятия
- •Задание к лабораторной работе
- •Пример выполнения работы
- •Контрольные вопросы
- •Microsoft Excel. Пакет анализа
- •Краткие теоретические сведения
- •Контрольные вопросы
- •Microsoft Outlook – планирование событий и общений
- •Краткие теоретические сведения
- •Средства безопасности
- •Календарь и планирование
- •Задачи и поручения
- •Заметки
- •Создание заметки
- •Встречи, собрания и события
- •Календарь
- •Создание контакта
- •Создание контакта на основе полученного сообщения электронной почты
- •Адресная книга
- •Службы каталогов Интернета (ldap)
- •Адресная книга Microsoft Outlook и контакты
- •Запись сведений в дневник
- •Общие сведения о поиске элементов и файлов
- •Поиск элементов по слову, фразе или другому тексту
- •Переход к веб-странице
- •Система безопасности электронной почты Защита от вирусов во вложениях электронных сообщений
- •Учетные записи электронной почты
- •Подключение к почтовому серверу
- •Получение сообщений электронной почты с сервера (отправка/получение)
- •Расположение для хранения сообщений (файл данных)
- •Практическая часть
- •2. Редактирование события.
- •3. Перенос события в связи с полученным сообщением.
- •III. Планирование встреч.
- •1.Назначение встречи.
- •Iy.Создание задач средствами Otlook.
- •1. Добавление категории.
- •2. Создание новых задач.
- •3. Добавление задач.
- •4. Управление задачами и контактами
- •2. Назначение встречи с контактным лицом.
- •5. Группирование элементов.
- •1. Группировка элементов по категориям.
- •1. Поиск информации.
- •Контрольные вопросы:
- •Знакомство со средой программирования vba
- •Задание
- •Контрольные вопросы
- •Создание формы и размещение в ней элементов управления
- •Основные элементы управления
- •Практическая часть
- •Создание диалогового окна приложения.
- •Написание процедуры обработки событий.
- •Выполнение созданной программы.
- •Проверить функционирование кнопок созданного приложения.
- •Практическая часть
- •Ход работы:
- •4. Добавляем модуль и вводим код:
- •Создание шаблона Word со встроенным меню
- •Содержание работы
- •Основные сведения Поля формы
- •Типы полей формы
- •1. Предмет договора
- •2. Права и обязанности сторон
- •Реквизиты сторон
- •Основные сведения Иерархия объектов для работы с панелями инструментов и меню
- •Контрольное задание
- •База данных издательства
- •2. Подключение к базе данных
- •3. Реализация меню База авторов
- •Задания для самостоятельной работы
- •Интеграция приложений ms Access, ms Word
- •Теоретическая часть
- •Основные объекты Outlook
- •Практическая часть Задание на выполнение.
- •Itm.Recipients.Add rs.Fields("эл_адрес")
- •Контрольное задание.
- •Asp.Net. Проект Анкета Понятие asp.Net
- •Обработка asp.Net-страницы
- •Структура asp.Net-страницы
- •Импорт библиотек
- •Соединение с базой данных
- •Получение данных из базы данных
- •Взаимодействие с клиентом
- •Проект Анкета
- •Описание проекта
- •База данных проекта
- •Контрольное задание
- •Библиографический список
- •Информационные технологии
- •308012, Г. Белгород, ул. Костюкова, 46.
Контрольное задание
Добавить меню База авторов с командами Добавить…, Удалить…
Лабораторная работа № 11
База данных издательства
Задание №1 Создание базы данных приложения
В разрабатываемом нами приложении будем использовать базу данных Access. Наша база данных будет состоять из трех таблиц: Проекты, Авторы, Занятость.
Таблица Проекты будет содержать информацию о находящихся в производстве проектах. По каждому проекту будет сохраняться его код, выделенной под описание проекта, наименование проекта, объем в страницах и дату его завершения. В таблице Авторы будет храниться информация об авторах, сотрудничающих с издательством. По каждому автору необходимо иметь следующую информацию: код автора, фамилию, имя, отчество, адрес, номер телефона, паспортные данные.
В таблице Занятость содержится информация о занятости авторов в проектах, представленная кодом проекта и кодом автора, она является связующей таблицей между таблицами авторов и проектов по "ключевым" полям с кодами авторов и проектов.
Схема данных базы данных изображена на рис. 11.1.
Рис. 11.1. Схема данных базы данных издательств
2. Подключение к базе данных
Чтобы работать с данными в базе данных, нужно сначала выполнить соединение с этой базой данных, то есть получить на нее ссылку. В Access можно использовать две объектные модели для доступа к данным DAO и ADO. В модели ADO, чтобы получить доступ к данным в некоторой базе данных (не текущей), обязательно должен быть создан объект Connection. Объект Connection представляет собой одно подключение к провайдеру OLE DB. Этот объект содержит информацию об источнике данных, о том, где он находится и какой тип провайдера будет использоваться. Когда ссылка будет получена, тогда можно обращаться к семействам и объектам этой базы данных. В объектной модели ADO можно обращаться к объектам данных непосредственно. В большинстве приложений достаточно иметь только одну рабочую область Jet, которая создается по умолчанию и используется для работы с объектами базы данных Access.
Подключение к базе данных будет происходить при открытии приложения.
Для этого следующий код нужно добавить в процедуру Init:
Dim conn As New ADODB.Connection ‘объект типа соединение
‘с базой данных
conn Open “Provider=Microsoft.Jet.OLEDB.4.0;_
Data Source=C:\Autors.mdb” ‘окрытие соединения
‘с источником данных
3. Реализация меню База авторов
Меню База авторов включает две команды: Добавить и Удалить. Первая добавляет нового автора в базу данных, а вторая удаляет. Реализуем только первую команду. Вторая выполняется аналогично. Основная цель в реализации этой команды — показать работу с базой данных.
Эта команда связана с вызовом процедуры AddAuthor() :
Public Sub AddАuthor ()
AuthorInDB. Show ‘Отображение диалоговой формы AuthorInDB End Sub
Процедуру AddАuthor напишем в модуле DBFunctions, который, прежде всего, следует создать в проекте нашего шаблона. Эта процедура отображает диалоговую форму AuthorInDB (рис. 11.2), код которой добавляет нового автора в таблицу Authors базы данных Authors.mdb.
Рис. 11.2. Внешний вид формы AuthorInDB
В полях этой формы вводится вся необходимая для включения в договор информация об авторе. Когда все поля заполнены, то нажатием кнопки «Ok» создается запись о новом авторе в базе данных. Код процедуры обработки события Сlick этой кнопки показан в следующем листинге:
Первый способ:
Dim rs As New ADODB.Recordset 'Создаем объект типа
With rs ‘набор записей
.ActiveConnection = conn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open Source:="авторы"
End With
rs.AddNew ‘заполняем поля этого объекта данными из формы
rs!фамилия = Me.LastName.Value
rs!имя = Me.FirstName.Value
rs!отчество = Me.SecondName.Value
rs!адрес = Me.address.Value
rs!телефон = Me.telephone.Value
rs!паспорт = Me.passport.Value
rs.Update ‘обновляем базу данных
Второй способ:
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = conn
Vaal = "'" + Me.LastName.Value + "'," + _
"'" + Me.FirstName.Value + "'," + _
"'" + Me.SecondName.Value + "'," + _
"'" + Me.address.Value + "'," + _
"'" + Me.telephone.Value + "'," + _
"'" + Me.passport.Value + "'"
cmd.CommandText = "INSERT INTO авторы (фамилия, имя, отчество, адрес, телефон, паспорт) VALUES (" + Vaal + ")"
cmd.Execute ‘выполнить запрос на добавление
Если пользователь по каким-то причинам не желает заносить информацию в базу данных, то он всегда может нажать кнопку «Отмена» и просто закрыть форму без записи в базу данных. Это действие реализуется в процедуре обработки щелчка мышью по этой кнопке.
Private Sub Ret_Click()
Unload Me ‘Выгрузить форму
End Sub
После нажатия кнопки OK формы AuthorsInDB с введенными данными, в таблицу Авторы базы данных Authors добавится еще одна запись о новом авторе.
Теперь перейдем к основному меню Договор разрабатываемого приложения. При создании документа на основе нашего шаблона в этом меню доступны только две команды - Заполнить и Выход. Третья команда Сохранить недоступна для пользователя, но это и логично - что сохранять, когда договор еще не заполнен?! Она станет доступной только после выполнения команды Заполнить, причем сама эта команда сразу же после ее выполнения станет недоступной.
При выборе команды Заполнить вызывается процедура
Public Sub fillContract()
GetProject.Show ‘метод,вызываемый при отображении
‘формы Договор с автором
‘поиск в строке меню пункта меню с надписью “Договор”
For Each mn In CommandBars("Меню Authors").Controls
If mn.Caption = "&Договор" Then
‘поиск в меню Договор пунктов Заполнить и Сохранить.
‘команду Заполнить делаем неактивной, а команду Сохранить
‘активной
For Each cmd In mn.Controls
If cmd.Caption = "&Сохранить..." Then cmd.Enabled = True
If cmd.Caption = "&Сохранить..." Then cmd.Enabled = False
Next
End If
Next
End Sub
Команда Выход предназначена для выхода из приложения и реализуется с помощью следующей процедуры:
Public Sub exitApp()
ActiveDocument.Close ' Закрытие документа
End Sub
Теперь перейдем к реализации основной функциональности нашего приложения - формированию договора с авторами книги. По команде Заполнить предполагаем отобразить следующую диалоговую форму:
Рис. 11.3. Форма договор с автором
Эта форма предназначена для ввода данных в базу данных о новом проекте, заполнения бланка договора на основе этих данных, а также для просмотра информации о проектах, находящихся в разработке. Предусматривает реализацию следующих функциональных возможностей:
-
Выбор названия существующего проекта. При выборе названия проекта из соответствующего списка, в списке “Авторы проекта” автоматически должны выводиться фамилии авторов, работающих с этим проектом. Также предусматривается ввод объема проекта в страницах, и дата завершения проекта.
-
Ввод названия вновь создаваемого проекта.
-
Формирование коллектива авторов, предназначенного для разработки данного проекта.
-
Заполнение шаблона договора.
При вызове метода GetProject.Show из процедуры fillContract() инициализируется событие Initialize. В процедуре его обработки удобно устанавливать свойства элементов управления формы. Будем использовать эту процедуру для заполнения списка проектов и списка авторов.
Private Sub UserForm_Initialize()
Set comd.ActiveConnection = conn
‘Выборка названий всех проектов из базы данных
comd.CommandText = "Select Наименование from проекты"
rs.Open comd, , adOpenStatic, adLockBatchOptimistic
‘Заполнение списка проектов
rs.MoveFirst
Do Until rs.EOF
cmbTitle.AddItem (rs.Fields(0))
rs.MoveNext
Loop
rs.Close
‘ Выборка фамилий всех авторов из базы данных
comd.CommandText = "Select Фамилия from Авторы"
rs.Open comd, , adOpenStatic, adLockBatchOptimistic
‘Заполнение списка авторов
rs.MoveFirst
Do Until rs.EOF
ListBox1.AddItem (rs.Fields(0))
rs.MoveNext
Loop
rs.Close
End Sub
При изменении содержимого поля со списком cmbTitle (в нашем случае, при вводе названия нового проекта или выборе названия проекта из списка) вызывается обработчик этого события cmbTitle_Change().
Для реализации возможностей, указанных в первом пункте, при каждом изменении текущего значения поля cmbTitle необходимо выполнять запрос на выборку: “Выбрать фамилии авторов задействованных в проекте с данным названием” и заполнять результатом выборки поле “Авторы проекта”.
Dim rs As New ADODB.Recordset ‘создаем объект типа
‘набор записей
Dim cmd As New ADODB.Command ‘ создаем объект типа запрос
Set cmd.ActiveConnection = conn ‘инициализируем свойство
‘активное соединение
‘значением глобальной переме-
‘нной conn, которая была ранее
‘создана и инициализирована в
‘процедуре Init(лаб. раб.№1)
книга = cmbTitle.Value
‘ Активизируем кнопки Добавить автора
‘ и Удалить автора из проекта
CommandButton1.Enabled = True
CommandButton2.Enabled = True
‘В свойство текст запроса объекта cmd записываем запрос на ‘выборку фамилий авторов, задействованных в проекте
‘c данным названием
cmd.CommandText = "SELECT Фамилия FROM проекты INNER JOIN (авторы INNER JOIN занятость ON авторы.authorCode=_ занятость.автор) ON проекты.код = занятость.проект WHERE_ проекты.наименование = " & "'" & книга & "'" & "order by _ фамилия"
‘Заполняем объект rs (набор записей) результатом выполнения запроса на выборку фамилий авторов
rs.Open cmd, , adOpenStatic, adLockBatchOptimistic
‘Очищаем список авторы проекта
ListBox2.Clear
‘Устанавливаем курсор на первую запись набора записей
If Not rs.EOF Then rs.MoveFirst
‘Перебираем все записи набора записей и заполняем ими список
‘авторы проекта
Do Until rs.EOF
ListBox2.AddItem (rs.Fields(0))
rs.MoveNext
Loop
End If
End Sub
При формировании коллектива авторов данного проекта возможны две ситуации:
-
Создается новый проект. В этом случае, при нажатии кнопки “добавить автора” сначала выполняется запрос на добавление записи о новом проекте в таблицу Проекты, а затем запрос на добавление кода выбранного автора и кода нового проекта в таблицу Занятость.
-
Если проект занесен в таблицу Проекты, записи добавляются только в таблицу Занятость.
Обработчик события нажатие кнопки Добавить автора:
Private Sub CommandButton1_Click()
‘ В переменную название записываем название проекта,
‘ введенное в поле формы
название = cmbTitle.Value
‘Проверяем, есть ли проект в таблице Проекты с таким названием
comd.CommandText = "Select count(*) from проекты where _
наименование =" & "'" & название & "'"
rs.Open comd, , adOpenStatic, adLockBatchOptimistic
‘Количество возвращаемых запросом записей записываем в _
‘переменную количество
количество = rs.Fields(0)
‘Если записи о проекте с таким названием в базе нет
‘добавляем его в таблицу Проекты
If количество = 0 Then
comd.CommandText = "INSERT INTO проекты _
(наименование, объем, срок) values('" & cmbTitle.Value _
& "','" & TextBox1.Value & "','" & TextBox2.Value & "')"
comd.Execute
cmbTitle.AddItem (cmbTitle.Value)
End If
‘Добавляем запись в таблицу Занятость, код выбранного в списке
‘ Все авторы автора, и код проекта, выбранного или набранного в ‘поле cmbTitle
comd.CommandText = "INSERT INTO занятость _
(автор, проект )SELECT авторы.authorCode, проекты.код _ FROM проекты, авторы where авторы.фамилия =" & "'" & _ ListBox1.Value & "'" & "and проекты.наименование=" & "'" &_ cmbTitle.Value & "'"
comd.Execute
‘Добавляем запись в список Авторы проекта
ListBox2.AddItem (ListBox1.Value)
rs.Close
End Sub