close

Вход

Забыли?

вход по аккаунту

?

1053.Использование элементов управления для вывода данных в формы MS Access

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОУ ВПО
УФИМСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ
ЭКОНОМИКИ И СЕРВИСА
Кафедра «Информатика и ИКТ»
ИСПОЛЬЗОВАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
ДЛЯ ВЫВОДА ДАННЫХ В ФОРМЫ MS ACCESS
Методические указания по выполнению лабораторной работы
по дисциплине
«Информационные системы в экономике»
Уфа – 2009
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Составитель: Сидоров М.Е.
УДК 681.3.06(07)
И 88
И 88 Использование элементов управления для вывода данных в формы MS
Access: Методические указания по выполнению лабораторной работы / Сост.:
М.Е. Сидоров. – Уфа: Уфимская государственная академия экономики и сервиса, 2009. – 20 с.
В работе приведены методические указания, задания и вопросы для самоконтроля по лабораторной работе в СУБД MS Access, включающие применение элементов управления в формах MS Access, создание запросов с использованием SQL и QBE.
Предназначена для студентов всех специальностей, изучающих дисциплины «Информационные системы в экономике», «Информационные технологии».
Рецензент: канд. техн. наук, доцент кафедры «Информатика и ИКТ»
Абросимова М.А.
© Сидоров М.Е., 2009
© Уфимская государственная академия
экономики и сервиса, 2009
2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВВЕДЕНИЕ
Цель данной работы – освоение методики создания запросов с использованием полей со списками для вывода данных в формы MS Access. Форма, с которой работает пользователь, содержит элементы управления, например, списки,
надписи, данные в которых отображают результаты выполнения запросов. Запросы при этом полностью «скрыты» от пользователя. Пользователь задает
условия отбора, выбирая элементы списка, содержащего некоторые значения,
например, из поля таблицы базы данных. В этом случае, пользователь «ограничен»
рамками готового запроса и может только менять условия отбора из предложенного ему списка, но зато ему (пользователю) не приходится изучать технологию
создания таблиц, запросов и все, что связано с разработкой и проектированием
баз данных. Именно такой подход используется при создании информационных
систем. В дальнейшем, для освоения данной методики, используется копия базы
данных Борей.mdb, в которой создается форма Заказано для отображения данных
по заказам некоторой фирмы и соответствующих каждому заказу сведений о товаре
и поставщике (рис. 1.)
Рис. 1
Выборка данных производится из таблиц (см. рис. 2.) с помощью запросов с
условиями отбора, например, показываются заказы для заданного товара (из таб3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
лицы Товары) и страны (из таблицы Клиенты). Например, содержание заказа отбирается по условию Код заказа (выделенная строка списка Заказы). Сведения о товаре и
поставщике отбираются по условию Код товара (выделенная строка списка Содержание заказа).
Создайте на Рабочем столе папку Борей и скопируйте в нее файл базы
данных Борей.mdb (возможно исходный файл есть в папке C:\Program
Files\Microsoft Office \OFFICE11\SAMPLES). Создайте на Рабочем столе в папке
Борей папку Фото и скопируйте в нее файлы фотографий сотрудников:
EMPID1.BMP - EMPID9.BMP (возможно файлы есть в той же папке базы данных Борей). Для улучшения качества изображения фотографий смените для
файлов фотографий сотрудников расширение BMP на JPG.
Откройте скопированную базу данных Борей.mdb.
Рис. 2
ВЫВОД ИНФОРМАЦИИ ПО ЗАКАЗАМ
Создание запроса по заказам
Для заполнения списка Заказы создадим запрос ЗпрЗаказы, для этого следующие действия:
1. Создайте новый запрос в режиме конструктора с использованием таблиц Клиенты, Заказы, Заказано и Сотрудники.
2. Включите в запрос поля Название, Страна, ОбращатьсяК, Телефон
таблицы Клиенты, поля КодЗаказа и ДатаИсполнения таблицы Заказы, поле КодТовара таблицы Заказано, а также поля ДомашнийТелефон, Фотография таблицы Сотрудники, рис. 3.
3. Добавьте вычисляемое поле Продавец: Сотрудники!Фамилия & ', '
& Сотрудники!Имя. Для этого на панели инструментов Конструктор запросов (рис. 4) щелкните кнопку Построить.
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 3
Рис. 4
В окне Построитель выражений введите надпись Продавец:, затем
выберите из таблицы Сотрудники поля Фамилия и Имя и добавьте между
ними через пробелы запятую в одинарных кавычках и знаки конкатенации – &
(рис. 5.). Удалите вставляемые мастером слова – «Выражение».
Рис. 5
5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. Выполните команду меню Вид, Режим SQL, чтобы увидеть «наполнение» инструкции Select, производящей выборку данных:
SELECT Клиенты.Название, Клиенты.Страна, Заказы.КодЗаказа, Заказы.ДатаИсполнения, Заказано.КодТовара, Клиенты.ОбращатьсяК, Клиенты.Телефон, Сотрудники!Фамилия & ', ' & Сотрудники!Имя AS Продавец, Сотрудники.ДомашнийТелефон, Сотрудники.Фотография
FROM Сотрудники INNER JOIN (Клиенты INNER JOIN (Заказы INNER
JOIN Заказано ON Заказы.КодЗаказа = Заказано.КодЗаказа) ON Клиенты.КодКлиента = Заказы.КодКлиента) ON Сотрудники.КодСотрудника = Заказы.КодСотрудника;
Итак, запросы выполняются инструкциями языка SQL (структурированный язык запросов), а конструктор позволяет нам создать запрос QBE (запрос
по образцу) не зная синтаксиса языка SQL (спасибо Microsoft). Вернитесь в
режим конструктора. Выполните запрос.
Для улучшения качества изображения фотографий смените расширение
файлов BMP на JPG. Результат выполнения запроса показан на рис. 6. Сохраните запрос под именем ЗпрЗаказы и закройте его.
Рис. 6
Создание формы
Форма – основной объект, на котором размещаются элементы управления,
с которыми работает пользователь информационной системы. В процессе разработки формы выполните следующие действия:
1. Создайте в режиме конструктора новую форму.
2. На панели инструментов Конструктор форм (рис. 7) щелкните кнопку Свойства.
Рис. 7
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3. Для свойства Форма (рис. 8) на вкладке Макет установите следующие значения свойств: Режим таблицы – Нет, Режим сводной таблицы –
Нет, Режим сводной диаграммы – Нет, Полосы прокрутки – Отсутствуют,
Область выделения – Нет, Кнопки перехода – значения Нет, Подпись – Заказано. Отметим, что на вкладке Данные свойство Источник записей не заполнено, такие формы называются несвязанными. Закройте окно свойств формы.
Рис. 8
4. На панели инструментов Конструктор форм (рис. 9) щелкните кнопку Панель элементов. Щелкните на элементе Список (элемент Мастера должен быть активен) и поместите в форму список. Откроется диалоговое окно
мастера Создание списков.
Рис. 9
Создание списка
1. В первом окне мастера Создание списков установите переключатель
Объект «список» будет использовать значения из таблицы или запроса.
Далее>, установите переключатель Запросы, а в списке выберите ЗпрЗаказы.
Далее>, из списка Доступные поля перенесите в список Выбранные поля
следующие поля: Название, КодЗаказа, ДатаИсполнения, ОбращатьсяК,
Телефон, Продавец, ДомашнийТелефон, Фотография. Далее>, выберите
порядок сортировки по полю ДатаИсполнения – по убыванию. Далее>, перетащите поля, чтобы соблюдался установленный выше порядок: Название,
КодЗаказа, ДатаИсполнения, ОбращатьсяК, Телефон, Продавец, ДомашнийТелефон, Фотография и отрегулируйте ширину столбцов. Далее>, выбе7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
рите поле, однозначно определяющее строку – КодЗаказа. Далее>, задайте
подпись для списка – Заказы и щелкните на кнопке Готово.
2. Переместите и измените шрифт надписи Заказы, как показано на
рис. 10.
3. Выделите надпись и в окне свойств на вкладке Другие измените значение ее свойства Имя (Заказано_подпись) на ндпЗаказы.
4. Выделите список и в окне свойств на вкладке Другие установите значение свойства Имя – спсЗаказы. Установите в окне свойств на вкладке Макет значение для свойства Заглавия столбцов – Да. На вкладке Макет установите значение свойства Ширина столбцов: 3см;2см;3см;3см;3см;
0см;0см;0см.
5. Добавьте на форму с Панели элементов элемент Надпись (введите в
нее значение Продавец) и измените значение ее свойства Имя на ндпПродавец.
6. Добавьте на форму с Панели элементов элемент Рисунок (при запросе имени файла выберите любой графический файл из папки Фото. Установите
в окне свойств Рисунка на вкладке Другие значение свойства Имя – рисФото,
на вкладке Макет значение для свойства Установка размеров – Вписать в
рамку и удалите значение свойства Рисунок.
Рис. 10
7. Сохраните форму с именем Заказано. В режиме просмотра форма имеет список, заполненный данными из запроса ЗпрЗаказы, с полями: Название,
КодЗаказа, ДатаИсполнения, ОбращатьсяК, Телефон, поля Продавец, ДомашнийТелефон и Фотография скрыты, поскольку у них ширина столбцов
равно нулю.
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 11
Создание полей со списками
Для задания условий отбора в запросе ЗпрЗаказы будут использоваться
два поля со списками: для выбора страны (пспСтрана) и для выбора товара
(пспТовар). Источником данных для поля со списком пспСтрана является поле Страна таблицы Клиенты, а для пспТовар – таблица Товары. Выполните
следующие действия:
1. В режиме конструктора формы, на панели элементов выберите элемент Поле со списком и вставьте его в форму. Откроется первое диалоговое
окно мастера полей со списками.
2. В окне мастера выберите переключатель Объект «поле со списком»
будет использовать значения из таблицы или запроса. Далее> выберите
переключатель Таблицы, выделите в списке таблицу Клиенты. Далее> перенесите поле Страна из списка Доступные поля в список Выбранные поля. Далее> установите сортировку по полю Страна. Далее> выберите ширину столбца Страна. Далее> оставьте значение Страна в качестве подписи поля со
списком и щелкните на кнопке Готово.
3. Вставьте второе поле со списком в форму.
4. В окне мастера выберите переключатель Объект «поле со списком»
будет использовать значения из таблицы или запроса. Далее> выберите
переключатель Таблицы, выделите в списке таблицу Товары. Далее> перенесите поля КодТовара и Марка из списка Доступные поля в список Выбранные поля. Далее> установите сортировку по полю Марка. Далее> выберите ширину столбца Марка. Далее> введите значение Товар в качестве подписи поля со списком и щелкните на кнопке Готово.
5. Переместите и измените шрифт надписей Страна и Товар, как показано на рис. 12.
6. Выделите поле со списком Страна, в окне свойств щелкните на вкладке Другие и введите Имя - пспСтрана, а на вкладке Данные значение свойства Ограничиться списком – Да.
7. Выделите поле со списком Товар, в окне свойств щелкните на вкладке
Другие и введите Имя – пспТовар, а на вкладке Данные значение свойства
Ограничиться списком – Да.
8. Сохраните изменения в форме и перейдите в режим просмотра формы.
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 12
В поле со списком Страна названия стран повторяются, поскольку они
повторяются в источнике строк: таблице Клиенты.
Задание № 1
1. Выделите поле со списком пспСтрана и панели инструментов Конструктор форм щелкните на кнопке Свойства. Выберите вкладку Данные и
откройте значение свойства Источник строк. Откроется конструктор запроса.
Выполните команду меню Вид, Режим SQL, чтобы увидеть «наполнение» инструкции Select, производящей выборку данных:
SELECT Клиенты.КодКлиента, Клиенты.Страна
FROM Клиенты
ORDER BY Клиенты.Страна;
2. Упростите это выражение и добавьте оператор DISTINCT, запрос будет иметь вид:
SELECT DISTINCT Страна FROM Клиенты ORDER BY Страна
3. В свойствах поля со списком пспСтрана выберите вкладку Макет и
измените значение свойства Число столбцов с 2 на 1.
4. Удалите первое значение 0см из свойства Ширина столбцов.
5. Сохраните изменения формы. В режиме Вид для формы Заказано откройте модифицированное поле со списком (повторяющиеся строки удалены).
Программирование событий
Выделите список спсЗаказы и на панели инструментов Конструктор
форм щелкните на кнопке Свойства. Выберите вкладку Данные и откройте
значение свойства Источник строк. Откроется конструктор запроса. Выполните команду меню Вид, Режим SQL, чтобы увидеть «наполнение» инструкции Select, производящей выборку данных:
SELECT
ЗпрЗаказы.Название,
ЗпрЗаказы.КодЗаказа,
ЗпрЗаказы.ДатаИсполнения, ЗпрЗаказы.ОбращатьсяК, ЗпрЗаказы.Телефон, ЗпрЗаказы.Продавец, ЗпрЗаказы.ДомашнийТелефон, ЗпрЗаказы.Фотография
FROM ЗпрЗаказы
ORDER BY ЗпрЗаказы.ДатаИсполнения DESC;
10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
С учетом условий отбора, заданных в полях со списками пспСтрана и
пспТовар в инструкцию SQL, заполняющую список спсЗаказы также необходимо включить условия отбора, что будет сделано далее в программном коде.
В режиме Конструктор выделите форму Заказано и на панели инструментов Конструктор форм щелкните на кнопке Программа (либо в меню
Вид, Программа). Откроется модуль формы Fоrm_Заказано. В разделе описаний введите следующие операторы:
Option Compare Database
Option Explicit
Private FotoPath As String
Ниже введите имя процедуры для заполнения списка:
Private Sub GetOrders
и нажмите клавишу Enter, получите «заготовку» процедуры.
Введите в процедуру код, присваивающий источнику строк списка SQL
инструкцию для заполнения списка. Для этого Вы можете воспользоваться
«готовой» SQL инструкцией из Источника строк списка спсЗаказы, скопировав ее, упростив, и добавив условия отбора (оператор WHERE):
SELECT Название, КодЗаказа, ДатаИсполнения, ОбращатьсяК, Телефон,
Продавец, ДомашнийТелефон, Фотография
FROM ЗпрЗаказы
WHERE Страна = пспСтрана.Value AND КодТовара = пспТовар.Value
ORDER BY ЗпрЗаказы.ДатаИсполнения DESC;
Код имеет вид:
Private Sub GetOrders()
Const str1 = "SELECT Название, КодЗаказа, ДатаИсполнения, ОбращатьсяК, Телефон, Продавец, ДомашнийТелефон, Фотография"
Const str2 = " FROM ЗпрЗаказы WHERE Страна="
Const str3 = " AND КодТовара="
Const str4 = " ORDER BY ДатаИсполнения DESC"
Dim str As String
str = str1 & str2 & "'" & пспСтрана.Value & "'" & str3 & пспТовар.Value &
str4
спсЗаказы.RowSource = str
If спсЗаказы.ListCount = 0 Then ндпЗаказы.Caption = "Нет заказов" Else
ндпЗаказы.Caption = "Заказы"
End Sub
Здесь строковые данные списка пспСтрана.Value заключаются в одинарные кавычки. В редакторе кода получим:
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 13
Таким образом, значения, выбранные в полях со списками, станут условиями отбора запроса, являющегося значением свойства Источник строк
списка спсЗаказы. Выбор элемента в поле со списком устанавливает значение
свойства Value данного объекта.
Примечание. Каждая форма имеет свой программный модуль, например,
Form_Заказано. Чтобы показать список модулей щелкните на кнопке Project
Explorer.
Задание № 2
1. В редакторе кода выберите в списке Object объект Form, а в списке
Procedure – событие Open, и введите следующий код:
Private Sub Form_Open(Cancel As Integer)
спсЗаказы.RowSource = ""
‘ спсЗаказано.RowSource = ""
‘ спсТовар.RowSource = ""
‘ спсПоставщик.RowSource = ""
‘ ндпЗаказано.Caption = "Содержание заказа"
‘ ндпТовар.Caption = "Сведения о товаре"
‘ ндпПоставщик.Caption = "Сведения о поставщике"
‘ ндпСуммаЗаказа.Caption = ""
ндпЗаказы.Caption = "Заказы"
ндпПродавец.Caption = ""
рисФото.Picture = ""
FotoPath = CurrentProject.path & "\Фото\"
SetFocus
If пспСтрана.Value <> "" And пспТовар.Value > 0 Then
Call GetOrders
Else
MsgBox "Выберите страну и товар" & Chr(13) & "Для дополнительных
12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сведений щелкните на строке списка"
End If
End Sub
2. В редакторе кода выберите в списке Object объект пспСтрана, а в
списке Procedure – событие Click, и введите следующий код:
Private Sub пспСтрана_Click()
If пспТовар.Value > 0 Then
Call GetOrders
Else
MsgBox "Выберите товар"
End If
‘ спсЗаказано.RowSource = ""
‘ спсТовар.RowSource = ""
‘ спсПоставщик.RowSource = ""
End Sub
3. В редакторе кода выберите в списке Object объект спсТовар, а в списке Procedure – событие Click, и введите следующий код:
Private Sub пспТовар_Click()
If пспСтрана.Value <> "" Then
Call GetOrders
Else
MsgBox "Выберите страну"
End If
‘ спсЗаказано.RowSource = ""
‘ спсТовар.RowSource = ""
‘ спсПоставщик.RowSource = ""
End Sub
4. Выполните команду меню Debug, Compile, чтобы проверить код VBA.
Если появятся ошибки компиляции, проверьте свой код. Отметим, что ошибки
в SQL инструкциях (см. процедуру GetOrders ) не проверяются, поскольку они
записаны в строковых константах. При неверной записи SQL инструкция
«просто» (без сообщения об ошибке) не будет выполняться.
5. Чтобы выполнить введенный код, переключитесь в режим формы. Если в качестве критериев выделить страну и товар, то отобразится соответствующий набор результатов запроса рис. 14.
Рис. 14
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Примечания. Одиночные кавычки в начале строки кода означают комментарий. В данном случае закомментирован код, который понадобится нам в
дальнейшем.
Если после закрытия формы из режима просмотра выводится сообщение
«Сохранить изменения макета....», то лучше выбирать Да, хотя изменения, относящиеся к выборке данных, все равно «переписываются» при выполнении
программного кода.
Рис. 15
ВЫВОД ИНФОРМАЦИИ ПО ЗАКАЗУ
Как видно из схемы данных (рис. 2.) каждый заказ имеет не только продавца (сотрудника) и клиента, но и, в общем случае, несколько товаров.
Создание запроса по заказу
Создайте запрос для отбора данных по заказу, выполнив следующие
действия.
1. Создайте новый запрос с таблицами Заказано и Товары с полями:
КодЗаказа, КодТовара, Цена, Количество, Скидка таблицы Заказано и полем Марка таблицы Товары. Переместите поле Марка, чтобы соблюсти порядок следования полей в запросе: КодЗаказа, КодТовара, Марка, Цена, Количество, Скидка, как показано на рис. 16.
2. Добавьте вычисляемое поле:
Сумма:
CCur(Format([Заказано].[Цена]*[Количество]*(1-[Скидка]);
"# # # # , 0 0 р . " ) )
Рис. 16
3. Запустите запрос для тестирования, затем закройте его, сохранив по
именем зпрЗаказано.
14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 17
Создание списка по заказу
Для вывода информации о содержании заказа по его коду (в списке заказов) необходимо добавить в форму Заказано второй список – спсЗаказано, с
данными из таблицы Заказано. Создайте список для отображения данных по
заказу, выполнив следующие действия.
1. Откройте форму Заказано в режиме конструктора и увеличьте ее высоту, чтобы обеспечить место для дополнительного списка.
2. Щелкните на панели инструментов Конструктор форм кнопку Панель элементов. Щелкните на элементе Список (элемент Мастера должен
быть активен) и поместите в форму список. Откроется диалоговое окно мастера создания списков.
3. В первом окне мастера согласитесь с параметрами, заданными по
умолчанию. Далее> выберите параметр Запросы и выделите в списке запрос
зпрЗаказано. Далее> переместите все столбцы запроса в список Выбранные
поля, кроме полей КодЗаказа и КодТовара. Далее> установите сортировку по
полю Марка. Далее>отрегулируйте ширину столбцов в соответствии с размером данных в полях. Далее> выберите (выделите) поле Марка. Далее> введите
подпись для списка: Содержание заказа. Готово.
Рис. 18
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. В окне свойств списка на вкладке Макет установите для свойства Заглавия столбцов значение Да, а на вкладке Другие для свойства Имя –
спсЗаказано.
5. Переместите присоединенную к списку надпись Содержание заказа,
чтобы она находилась над списком, увеличьте шрифт надписи (рис. 18). В окне
свойств надписи на вкладке Другие введите для свойства Имя – ндпЗаказано.
6. Добавьте на форму с Панели элементов элемент Надпись (введите в
нее значение Сумма заказа:) и измените значение ее свойства Имя на
ндпСуммаЗаказа.
7. Сохраните форму.
Программирование событий
Мастер списков устанавливает в качестве значения свойства Источник
строк созданного списка спсЗаказано следующую инструкцию SQL (можете
скопировать эту инструкцию, чтобы использовать ее при написании кода):
SELECT зпрЗаказано.Марка, зпрЗаказано.Цена, зпрЗаказано.Количество,
зпрЗаказано.Скидка, зпрЗаказано.Сумма
FROM зпрЗаказано
ORDER BY зпрЗаказано.Марка.
Задание № 3
1. Выполните команду меню Вид, Программа и выделив в списке Object
объект спсЗаказы, а в списке Procedure событие Click, введите в код обработки события:
Private Sub спсЗаказы_Click()
‘ спсТовар.RowSource = ""
‘ спсПоставщик.RowSource = ""
рисФото.Picture = ""
If спсЗаказы.Value = "" Then Exit Sub
Const str1 = "SELECT Марка,Цена,Количество,Скидка,Сумма FROM
зпрЗаказано"
Const str2 = " WHERE КодЗаказа = "
Const str3 = " ORDER BY Марка"
Dim str As String
On Error Resume Next
str = str1 & str2 & спсЗаказы.Value & str3
спсЗаказано.RowSource = str
ндпПродавец.Caption = "Продавец: " & спсЗаказы.Column(5) & " - тел. "
& спсЗаказы.Column(6)
str = FotoPath & спсЗаказы.Column(7)
рисФото.Picture = str
ндпСуммаЗаказа.Caption = "Сумма заказа:" & Format(SumOfOrder, "#
16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
###,00") & "р."
End Sub
Здесь используется функция расчета суммы заказа – SumOfOrder.
2. Ниже, в редакторе кода, введите имя функции:
Private Function SumOfOrder() As Single
и нажмите клавишу Enter, получите «заготовку» функции.
3. Введите в «заготовку» функции код для расчета суммы заказа:
Private Function SumOfOrder() As Single
Dim i As Integer
Dim S As Single
S=0
For i = 1 To спсЗаказано.ListCount - 1
S = S + спсЗаказано.Column(4, i)
Next
SumOfOrder = S
End Function
Сохраните изменения и откройте форму Заказано. После щелчка на
элементе (строке) списка Заказы появится Содержание заказа и данные о продавце (рис. 19).
Рис. 19
Примечание. Если при открытии формы появится сообщение об ошибке,
то в редакторе кода строка с ошибкой выделяется желтым цветом фона.
Следует в редакторе кода исправить ошибку и в меню Run, выполнить Reset,
чтобы можно было продолжить работу с формой.
ВЫВОД ИНФОРМАЦИИ О ТОВАРЕ И ПОСТАВЩИКЕ
Как видно из схемы данных (рис. 2) сведения о товаре (таблица Товары)
связаны с таблицей Поставщики и не ограничиваются данными, показанными
в списке Содержание заказа. Для вывода информации по товару и поставщи17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
кам по его коду (в списке заказано) необходимо добавить в форму Заказано
списки – спсТовар и спсПоставщик, с данными из таблиц Товары и Поставщики.
Создание списка по товару
Создайте список спсТовар, выполнив следующие действия.
1. Откройте форму Заказано в режиме конструктора и увеличьте ее высоту, чтобы обеспечить место для дополнительного списка.
2. Щелкните на панели инструментов Конструктор форм кнопку Панель элементов. Щелкните на элементе Список (элемент Мастера должен
быть активен) и поместите в форму список. Откроется диалоговое окно мастера создания списков.
3. В первом окне мастера согласитесь с параметрами, заданными по
умолчанию. Далее> выберите параметр Таблицы и выделите в списке таблицу Товары. Далее> переместите все столбцы таблицы в список Выбранные
поля. Далее> не устанавливайте сортировку. Далее>отрегулируйте ширину
столбцов в соответствии с размером данных в полях. Далее> введите подпись
для списка: Сведения о товаре. Готово.
4. В окне свойств списка на вкладке Макет установите для свойства Заглавия столбцов значение Да, для свойства Ширина столбцов установите
0 см. для третьего и четвертого столбцов (чтобы скрыть столбцы КодПоставщика и КодТипа), а на вкладке Другие для свойства Имя – спсТовар.
5. Переместите присоединенную к списку надпись Сведения о товаре,
чтобы она находилась над списком, увеличьте шрифт надписи. В окне свойств
надписи на вкладке Другие введите для свойства Имя – ндпТовар.
6. Уменьшите ширину списка спсТовар, как показано на рис. 1. Сохраните форму.
Создание списка по поставщику
Создайте список спсПоставщик, выполнив следующие действия.
1. Откройте форму Заказано в режиме конструктора и увеличьте ее высоту, чтобы обеспечить место для дополнительного списка.
2. Щелкните на панели инструментов Конструктор форм кнопку Панель элементов. Щелкните на элементе Список (элемент Мастера должен
быть активен) и поместите в форму список. Откроется диалоговое окно мастера создания списков.
3. В первом окне мастера согласитесь с параметрами, заданными по
умолчанию. Далее> выберите параметр Таблицы и выделите в списке таблицу Поставщики. Далее> переместите все столбцы таблицы в список Выбранные поля. Далее> не устанавливайте сортировку. Далее>отрегулируйте ширину столбцов в соответствии с размером данных в полях. Далее> введите подпись для списка: Сведения о поставщике. Готово.
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. В окне свойств списка на вкладке Макет установите для свойства Заглавия столбцов значение Да, а на вкладке Другие для свойства Имя –
спсПоставщик.
5. Переместите присоединенную к списку надпись Сведения о поставщике, чтобы она находилась над списком, увеличьте шрифт надписи. В окне
свойств надписи на вкладке Другие введите для свойства Имя – ндпПоставщик.
6. Уменьшите ширину списка спсПоставщик, как показано на рис. 1.
Сохраните форму.
Программирование событий
Мастер списков устанавливает в качестве значения свойства Источник
строк созданных списков достаточно длинные инструкции SQL. При написании кода мы «упростим» эти инструкции.
Выполните команду меню Вид, Программа и выделив в списке Object
объект спсЗаказано, а в списке Procedure событие Click, введите в код обработки события:
Private Sub спсЗаказано_Click()
If спсЗаказано.Value = "" Then Exit Sub
Dim str As String
str = "SELECT Товары.* FROM Товары WHERE Марка=" & "'" & спсЗаказано.Value & "'"
спсТовар.RowSource = str
If спсТовар.Value = "" Then Exit Sub
str = "SELECT Поставщики.* FROM Поставщики WHERE КодПоставщика=" & спсТовар.Column(2, 1) 'Value
спсПоставщик.RowSource = str
End Sub
Задание № 4
1. Выше, в редакторе кода, удалите в начале строк знак одинарной кавычки, т.е. «откройте» все закомментированные строки кода.
2. Сохраните изменения и откройте форму Заказано. После щелчка на
элементе (строке) списка Заказано появятся сведения о товаре и поставщике
(рис. 20).
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20
Задание № 5
1. Добавьте в форму Заказано напротив надписи Сведения о товаре с
Панели элементов Флажок (введите в нее значение Поставки прекращены). В
окне свойств флажка на вкладке Другие введите для свойства Имя – ФлжПоставки. На вкладке Данные введите для свойства Блокировка – Да.
2. Установите ширину поля Поставки прекращены в списке спсТовар
равной нулю.
3. Добавьте в форму Заказано напротив надписи Сведения о поставщике с Панели элементов Надпись (введите в нее значение Страна, Телефон). В окне свойств надписи на вкладке Другие введите для свойства Имя –
ндпСтранаТел.
4. Установите ширину полей Страна, Телефон и следующих в списке
спсПоставщик равной нулю.
5. Выполните команду меню Вид, Программа и, выделив в списке Object
объект спсЗаказано, а в списке Procedure событие Click, добавьте в код обработки события:
ФлжПоставки.Visible = True
ФлжПоставки.Value = спсТовар.Column(9, 1)
ндпСтранаТел.Visible = True
ндпСтранаТел.Caption="Страна: " & спсПоставщик.Column(8,1) & "; Телефон: " & спсПоставщик.Column(9,1)
6. В остальные события Click, добавьте в код:
20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ФлжПоставки.Visible = False
ндпСтранаТел.Visible = False
7. Установите ширину полей в списках спсТовар и спсПоставщик такими, чтобы исчезли горизонтальные полосы прокрутки. Сохраните изменения
и откройте форму Заказано.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
1. В каких случаях свойство поля Блокировка устанавливается значением Да?
2. Какие значения свойства имеет элемент управления Флажок?
3. Какой языка используется для выполнения запросов?
4. Какой запрос позволяет нам конструктор запросов MS Access?
5. Какой вид имеет инструкция Select?
6. Какое значение присваивается свойству Источник строк элемента
управления Список для его заполнения результатами запроса на выборку?
7. Для чего используются значения из полей со списками на форме?
8. Какое свойство элемента управления Поле со списком используются
при выборке данных из раскрывающегося списка?
9. Какое свойство элемента управления Список используются для скрытия данных из списка?
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ .................................................................................................................... 2
ВЫВОД ИНФОРМАЦИИ ПО ЗАКАЗАМ............................................................... 4
СОЗДАНИЕ ЗАПРОСА ПО ЗАКАЗАМ .................................................................................... 4
СОЗДАНИЕ ФОРМЫ ............................................................................................................ 6
СОЗДАНИЕ СПИСКА ........................................................................................................... 7
СОЗДАНИЕ ПОЛЕЙ СО СПИСКАМИ ..................................................................................... 9
Задание № 1 .................................................................................................................. 10
ПРОГРАММИРОВАНИЕ СОБЫТИЙ .................................................................................... 10
Задание № 2 .................................................................................................................. 12
ВЫВОД ИНФОРМАЦИИ ПО ЗАКАЗУ ................................................................ 14
СОЗДАНИЕ ЗАПРОСА ПО ЗАКАЗУ ..................................................................................... 14
СОЗДАНИЕ СПИСКА ПО ЗАКАЗУ ...................................................................................... 15
ПРОГРАММИРОВАНИЕ СОБЫТИЙ .................................................................................... 16
Задание № 3 .................................................................................................................. 16
ВЫВОД ИНФОРМАЦИИ О ТОВАРЕ И ПОСТАВЩИКЕ ............................... 17
СОЗДАНИЕ СПИСКА ПО ТОВАРУ ...................................................................................... 18
СОЗДАНИЕ СПИСКА ПО ПОСТАВЩИКУ ............................................................................ 18
ПРОГРАММИРОВАНИЕ СОБЫТИЙ .................................................................................... 19
Задание № 4 .................................................................................................................. 19
Задание № 5 .................................................................................................................. 20
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ .................................................................... 21
22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Составитель: СИДОРОВ Михаил Евгеньевич
ИСПОЛЬЗОВАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
ДЛЯ ВЫВОДА ДАННЫХ В ФОРМЫ MS ACCESS
Методические указания по выполнению лабораторной работы
по дисциплине
«Информационные системы в экономике»
Технический редактор: А.Ю. Кунафина
Подписано в печать 30.03.09. Формат 60×84 1/16.
Бумага писчая. Гарнитура «Таймс».
Усл. печ. л. 1,34. Уч.-изд. л. 3,5. Тираж 300 экз.
Цена свободная. Заказ № 64.
Отпечатано с готовых авторских оригиналов
на ризографе в издательском отделе
Уфимской государственной академии экономики и сервиса
450078, г. Уфа, ул. Чернышевского, 145; тел. (347) 241-69-85.
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
24
1/--страниц
Пожаловаться на содержимое документа