Разработка базы данных в субд ms Access. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка базы данных в субд ms Access.



ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

 

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

 

 

МОСКОВСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ

ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ

 

НУРМАТОВА Е.В., ШИЛИНА Е.М.

 

 

БАЗЫ ДАННЫХ

УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ

К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ И

КУРСОВЫХ РАБОТ

для студентов III курса

Специальности 351400

«Прикладная информатика в экономике»

Москва - 2005


УДК 681.3.01 [004.6]

ББК 32.973.26-018.2

Базы данных. Учебно-методическое пособие к выполнению лабораторных и курсовых работ (специальность 351400 «Прикладная информатика в экономике») / Нурматова Е.В., Шилина Е.М. – М.: МГАПИ, 2005. - 140 с.

 

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

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

Первый раздел посвящен основам создания многотабличных нормализованных структур баз данных в среде MS Access с возможностью создания внутреннего приложения на языке Visual Basic for Application, а также дальнейшее масштабирование программного проекта в визуальных средах проектирования внешних приложений Visual Basic и VB.NET с применением MS SQL Server.

Во втором разделе рассматривается разработка приложений в среде Borland Delphi для работы с базами данных, в том числе и с клиент-серверной архитектурой СУБД.

Такая структура пособия предполагает более гибкий подход к обучению студентов с различным уровнем подготовки и склонностями к тому или иному способу реализации приложений БД.

Также в пособии подробно изложены рекомендации к выполнению курсового проекта по дисциплине «Базы данных» и требования к оформлению пояснительной записки. Предложен список литературы, которую студенты могут использовать при подготовке к экзаменам и защите курсового проекта.

Важно отметить, что лабораторная работа 5 (часть I) разработана Киселкиным С. А., лабораторная работа 6 (часть I) – Шошиным Е.А., лабораторная работа 4 (часть II) - к.э.н. Семичасновым М.А.

 

Рецензенты: к.т.н., доц. каф. ЭФ-2 Е. Н. Каширская

к.т.н., проф., зам. ген. директора

МОУ «Институт инженерной физики»

по учебно-методической работе Ю. Н. Долгин

 

Учебно-методическое пособие рассмотрено и одобрено на заседании кафедры ЭФ-2 «10» октября2005 г., протокол № 2.

ã Каф. ЭФ-2. МГАПИ, 2005 г.

ã Компьютерная верстка. Нурматова Е.В., 2005 г.


ОГЛАВЛЕНИЕ

 

ЧАСТЬ I

Лабораторная работа №1(1).

разработка базы данных В СУБД MS ACCESS …….. ……………. 4

Лабораторная работа №1(2).

Применение форм ……………………………………………………… 10

Лабораторная работа №2(1).

Создание и использование запросов С использованием visual basic for application ……………….... …………….… 16

Лабораторная работа №2(2).

Создание и использование запросов …………………………… 22

Лабораторная работа №3.

Создание отчетов …………………………………………………… 26

Лабораторная работа №4.

РАЗРАБОТКА ПРИЛОЖЕНИЯ НА VISUAL BASIC ДЛЯ ВЕДЕНИЯ ОДНОТАБЛИЧНОЙ БАЗЫ ДАННЫХ ……………………………………….…. 34

Лабораторная работа №5.

ОБРАБОТКА НОРМАЛИЗОВАННОЙ МНОГОТАБЛИЧНОЙ СТРУКТУРЫ БД ………………………………….. ……………………………………..…. 45

Лабораторная работа №6.

СОЗДАНИЕ МНОГОСТРАНИЧНОГО WEB-ПРИЛОЖЕНИЯ ……………. 59

 

ЧАСТЬ II

Лабораторная работа №1.

ОСНОВЫ ПОСТРОЕНИЯ БД В СРЕДЕ BORLAND DELPHI …………… 74

Лабораторная работа №2.

СОЗДАНИЕ WINDOWS-ПРИЛОЖЕНИЯ ДЛЯ РАБОТЫ С БД. ГЕНЕРАЦИЯ ОТЧЕТОВ ……………………..……………………………………………….. 88

Лабораторная работа №3.

ОБРАБОТКА ИНФОРМАЦИИ БД, ИМЕЮЩЕЙ СТРУКТУРУ “master-detail”. ИЗУЧЕНИЕ ОСНОВ SQL. …………………………………………………….. 99

Лабораторная работа №4-5.

ОСНОВЫ ОБРАБОТКИ КЛИЕНТ-СЕРВЕРНОЙ СТРУКТУРЫ БД …… 107

РЕКОМЕНДАЦИИ К ВЫПОЛНЕНИЮ КУРСОВОГО ПРОЕКТА … 122

СПИСОК ЛИТЕРАТУРЫ ………………………….……………………… 140


ЧАСТЬ i

Лабораторная работа 1(1).

Создание схемы базы данных.

В данном случае таблицы Группы и Список объединены свя­зью «один-ко-многим», таблицы Список и Личные данные - связью «один-к-одному». Таблицы Группы и Личные данные прямо не связаны.

Ввод данных в таблицы.

Создадим форму для ввода данных и воспользуемся ею.

База данных

«Компьютерная школа»

(после слов База данныхнажмите одновременно комбинацию клавиш [Shift]-и-[Enter].)

• Нажмите клавишу [Enter].

• Выберите размер букв 18, а выравнивание - по центру. Выпол­ните команду меню Формат - размер - по размеру данных. Цвет фона - голубой.

• Растяните мышкой надпись на ширину окна.

• Выберите на панели элементов значок - Кнопка.

• Щелкните мышкой по тому месту в области данных, где должна быть кнопка (это может быть любое место, которое вам нравится). Появится диалоговое окно Создание кнопок.

• Выберите категорию Работа с формой, а действие - Открытие формы.

• Щелкните по кнопке Далее.

• Выберите форму Список, открываемую этой кнопкой, и щелк­ните по кнопке Далее.

• В следующем окне щелкните по кнопке Далее.

• В следующем окне поставьте переключатель в положение Текст, наберите в поле текст слово Список.

• Щелкните по кнопке Далее.

• Задайте имя кнопки Список и щелкните по кнопке Готово.

Замечание. Размер и расположение кнопок можно менять мышкой в режиме Конструктор.

Самостоятельно создайте кнопки для форм Успеваемость и Но­мера групп.

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

• Перейдите в панель Свойства для выбранной кнопки (например, Номера групп) и на закладке События найдите строку Нажатие кнопки. Создайте процедуру для обработки этого события, выполняя действия аналогично описанным выше при создании программного фильтра.

• В открывшемся редакторе программного кода введите строку:

DoCmd.OpenForm "Номера групп"

• Закройте редактор VBA и проверьте работу кнопки.

• Обратите внимание, что при задании функциональности кнопки при помощи мастера, MS Access автоматически, без Вашего участия создает аналогичный программный код. Это один из множества примеров реализации функций автоматизированной среды проектирования и разработки приложений.

• Возможно использование данной команды в различных вариациях для запуска любого объекта БД. Соответственно необходимо использовать команды OpenQuery (выполнение запроса), OpenReport (просотр отчета), OpenDiagram (просмотр диаграммы) и т.д..

 

• Перейдите в режим формы.Теперь при щелчке мышью по соответствующим кнопкам будут открываться соответствующие формы для работы.

• Чтобы кнопочная форма автоматически появлялась при запуске БД, выполните команду Сервис - Парамет­ры запуска. В поле Форма выберите Заставка и щелкните по кнопке ОК.

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

Задание 8. Создайте кнопочную форму при помощи Диспетчера кнопочных форм.

Порядок работы:

• Выполните команду Сервис – Служебные программы - Диспетчер кно­почных форм, на заданный вопрос ответьте Да. В результате вы получите диалоговое окно Диспетчера кнопочных форм.

• Щелкните в окне Диспетчер кнопочных форм по кнопке Из­менить.

• В открывшемся диалоговом окне Изменение страницы кно­почной формы щелкните по кнопке Создать. Появится диа­логовая страница Изменение элемента кнопочной формы. Из­мените содержимое полей Текст (Список учеников), Команда (Открытие формы в режиме редактирования), Форма (Список). (Команду и Форму выбирайтеиз списка, а не набирайте вручную).

• Щёлкните по кнопке ОК.

• Аналогично в окне Изменение страницы кнопочной формы создайте еще два элемента кнопочной формы:

Личные данные. Эта кнопка открывает форму Личные дан­ные и режиме редактирования;

Успеваемость. Эта кнопка открывает форму Успеваемость в режиме редактирования.

• Добавьте кнопку закрытия базы данных. Для этого щёлкните по кнопке Создать, наберите в поле Текст слово Выход, а в поле Команда выберите Выход из приложения. Закройтеди­алоговое окно Изменение страницы кнопочной формы, а затем- Диспетчер кнопочных форм.

• Перейдите на закладку Формы и откройте окно Кнопочная форма в режиме Конструктора, измените цвет надписи и название вашей базы данных на «Компьютерная школа», сохраните форму.

• Перейдите при помощи кнопки Вид в режим формы.

• Проверьте работу всех кнопок кнопочной формы (после нажатия кнопки Выход снова откройте базу данных).

Задание 9. Завершите работу с программой Access.

 

Лабораторная работа 2(1)

Dim strSQL As String

TxtFiltr.SetFocus

strSQL = txtFiltr.Text

Form.RecordSource = «SELECT Список.Код, Список.Фамилия, Список.Имя, Список.Отчество, Список.[Год рождения], Список.Школа, Список.Класс, Список.[Учебная группа], [личные данные].КодСтудента, [Личные данные].Адрес, [Личные данные].Телефон, [Личные данные].Word, [Личные данные].Exel, [Личные данные].Access FROM Список INNER JOIN [Личные данные] ON Список.Код=[Личные данные].КодСтудента Where Список.Фамилия like '» + strSQL + «*';»

Form.Requery

End Sub

• Закройте редактор программного кода и вернитесь в режим конструктора формы. Проверьте работу сделанных изменений, выполните Вид – Режим формы. Введите в текстовое поле букву «В» и нажмите Применить. Проверьте, что теперь в форме можно пролистать только студентов у которых фамилия начинается с буквы «В».

• Мы реализовали фильтр с помощью SQL запроса. Условие отбора задается после ключевого слова Where. Попробуйте изменить запрос таким образом, чтобы фильтр задавался для значений имен студентов.

• Сохраните сделанные изменения на форме и закройте ее.

Задание 7. Создайте поиск значения в форме с помощью команд VBA.

Организация поиска значений с помощью стандартных инструментов была рассмотрена ранее. В этом задании Вам предлагается рассмотреть какие еще функциональные расширения может предоставить использование языка VBA.

Порядок работы:

• Проделайте действия аналогичные описанным выше, до момента задания программного кода для обработки события нажатия кнопки. В качестве подписи для текстового поля задайте: «Условие для поиска студента по фамилии». Текстовому полю и кнопке задайте имена txtFind и cmbFind соответственно.

• Для обработки события нажатие кнопки введите программный код:

Private Sub cmbFind_Click()

Dim strFind As String

Dim byt As Variant

TxtFind.SetFocus

strFind = txtFind.Text

Form.Recordset.FindFirst «Список.Фамилия = '» + strFind + «'»

Exit Sub

End If

byt = MsgBox("Продолжить поиск?", vbYesNo)

While byt = vbYes

Form.Recordset.FindNext «Список.Фамилия = '» + strFind + «'»

Exit Sub

End If

byt = MsgBox("Продолжить поиск?", vbYesNo)

Wend

End Sub

 

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

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

• Измените строки, содержащие команды поиска (FindFirst и FindNext) следующим образом:

Form.Recordset.FindFirst «Список.Фамилия like '» + strFind + «* '»

и

Form.Recordset.FindNext «Список.Фамилия like '» + strFind + «* '»

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

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

Лабораторная работа 2(2).

Ход работы

Задание 1. Откройте учебную базу данных, созданную на про­шлом занятии.

Задание 2. Создайте автоотчет в столбец на основании запроса Адрес.

Порядок работы:

• Откройте закладку Отчеты, если находитесь в другом окне.

• Щелкните по кнопке Создать.

• В появившемся диалоговом окне Новый отчет выберите Ав­тоотчет: в столбец и запрос/ Адрес.

• Сохраните отчет с именем Адрес. Закройте отчет.

Замечание. Этот отчет составам наосновании запроса. При изменении запроса Адрес изменится и отчет. Это дает воз­можность, например, распечатать адрес только одного ученика.

• Откройте закладку Запросы, если находитесь в другом окне.

• Выделите запрос Адрес.

• Откройте запрос в режиме Конструктор: щелкните по кнопке Конструктор.

• Введите условие отбора фамилии: Баранова.

• Выполните запрос. Сохраните его и закройте.

• Перейдите на закладку Отчеты.

• Откройте отчет Адрес. В списке вывода будут находиться дан­ные только одного человекаю

Задание 3. Создайте ленточный автоотчет на основании запроса Номера телефонов.

Порядок работы:

• Щелкните по кнопке Создать.

• В появившемся диалоговом окне Новый отчет выберите Ав­тоотчет: ленточный и запрос Номера телефонов. Щелкните по кнопке ОК. Появится страница просмотра отчета. Закройте страницу просмотра, щелкнув по кнопке Закрыть.

• Сохраните отчет с именем Номера телефонов. Закройте отчет.

Пояснение. Для подобных отчетов удобно использовать Зап­рос с параметром. Создадим запрос с параметром для запро­са Номера телефонов.

• Откройте закладку Запросы, если находитесь в другом окне.

• Выделите запрос Номера телефонов.

• Откройте его в режиме Конструктор: щелкните по кнопке Конструктор.

• Напечатайте в качестве условия отбора в квадратных скобках фразу: [Введите фамилию]. Эти слова будут появ­ляться каждый раз при выполнении запроса.

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

• Введите фамилию Корнилова и щелкните по кнопке ОК.

• Сохраните запрос и закройте его.

• Перейдите на закладку Отчеты.

• Откройте отчет Номера телефонов. Появится точно такой же вопрос о фамилии. Введите любую фамилию, например Корни­лова. В списке вывода будут данные только одного человека.

Задание 4. Внесите изменения в готовые отчеты.

Порядок работы:

• Щелкните по кнопке - Вид для перехода в режим Кон­структор. Все изменения в отчет можно вводить только в этом режиме.

Справочная информация. В окне Конструктор отчетов на­ходится пять областей:

Заголовок отчета - все, что находится в этой области, вы­водится только один раз в начале отчета; Верхний колонтитул - все, что находится в этой области, выводится в верхней части каждой страницы; Область данных - содержит собственно записи; Нижний колонтитул - все, что находится в этой области, выводится в нижней части каждой страницы; Примечание отчета - все, что находится в этой области, выводится только один раз в конце отчета.

В окне Конструктор отчётов в заголовке отчёта находится надпись Номера телефонов, в верхнемколонтитуле - заголовки столбцов вывода, в области данных - запи­си, в нижнем колонтитуле - дата текущего дня.

• Исправьте заголовок отчета на Номер телефона учащегося. Смените цвет букв, их размер и шрифт.

• Перейдите в режим предварительного просмотра, щелкнув по кнопке Вид. Введите фамилию из списка учащихся и по­смотрите, что получилось.

• Закройте отчет, предварительно сохранив его.

Задание 5. Создайте отчет Справка с помощью Конструктора.

Рассмотрим ситуацию, когда стандартный отчет нас не устраи­вает. Например, вы хотите сконструировать стандартную справку об обучении и выдавать ее по запросу. Сначала следует создать запрос с параметром Справка, в котором будут только интересу­ющие вас записи, затем следует приступить к созданию отчета.

Порядок работы:

• Откройте закладку Отчеты, если находитесь в другом окне.

• Щелкните по кнопке Создать.

• В появившемся диалоговом окне Новый отчет выберите ре­жим Конструктор и запрос Справка.

• Щелкните по кнопке ОК. Появится Конструктор для создания отчетов и панель с вспомогательными кнопками. Наличие или отсутствие заголовка и примечания отчета выбирается коман­дой Вид - Колонтитулы и Вид-Заголовок/Примечание отче­та. При включении соответствующего переключателя появля­ется соответствующий раздел Конструктора. Если отсутствует панель элементов, вызовите её.

• В поле верхнего колонтитула поместите надпись:

КОМПЬЮТЕРНАЯ ШКОЛА

СПРАВКА.

Для этого щелкните по кнопке Аа -надпись, расположенной на до­полнительной панели. Укажите мышкой место начала надписи и вве­дите текст с клавиатуры. В конце ввода слов КОМПЬЮТЕРНАЯ ШКОЛА нажмите одновременно комбинацию клавиш [Shift]+[Enter].

В конце ввода СПРАВКА нажмите клавишу [Enter]. Сделайте надпись размером 18. Выполните команду Формат – Размер – по размеру данных. Расположите надпись симметрично по центру страницы.

• В области данных напечатайте три строки:

Дана настоящая в том, что

Является учеником (цей)

Группы

• Щелкните по кнопке - Список полей.

• В открывшемся окне выберите все поля, выделяя их мышкой при нажатой клавише [Ctrl], и перетащите их мышкой в область данных.

• Удалите названия полей. Оставьте только содержимое записей.

• Сделайте всю запись размером 12 и расположите ее в удобном для вас виде.

• Выделите все элементы области данных при нажатой клавише [Shift].

• Выровняйте элементы по левому и по нижнему краю, выпол­нив соответственно команду Формат - Выровнять - По лево­му краю и Формат - Выровнять - По нижнему краю.

• Уберите пустое место в области данных, передвинув грани­цу этой области.

• Выберите параметры страницы. Поля: верхнее и нижнее - по 20 мм, а Правое и левое - по 10 мм. Ориентация: альбомная.

• В разделе Нижний колонтитул напечатайте подпись: Дирек­тор Компьютерной школы.

• Сохраните макет отчета с именем Справка.

• Перейдите в режим предварительного просмотра. Введите из списка фамилию учащегося и по­смотрите, что получилось.

• Закройте отчет, предварительно сохранив его.

 

Задание 6. Создайте с помощью Конструктора отчет Списки учеников.

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

Порядок работы:

• Откройте закладку Отчеты, если находитесь в другом окне.

• Впоявившемся диалоговом окне Новый отчет выберите ре­жим Конструктор и таблицу Список в качестве источника дан­ных. Щелкните по кнопке ОК.

• Если отсутствует раздел Заголовок отчета, добавьте его с по­мощью команды Вид - Заголовок/примечание отчета.

• Щелкните по кнопке - Сортировка и группировка.

• В появившемся окне выберите поле Учебная группа для груп­пировки. В разделе Свойства группы в заголовке группы вклю­чите Да. В результате будет создан заголовок группы.

• Выберите второе поле для группировки - Фамилия. У этого поля в заголовке группы значение Нет.

• Закройте это окно, щелкнув по кнопке в правом верхнем углу экрана.

• Напечатайте в разделе заголовка отчета: СПИСОК УЧЕНИКОВ КОМПЬЮТЕРНОЙ ШКОЛЫ. Для этого щелкните по кнопке Аа - надпись на дополнительной панели. Укажите мышкой ме­сто начала надписи и введите текст с клавиатуры. В конце вво­да нажмите клавишу [Enter]. Надпись, приведенная в разделе заголовка отчета будет единственной для всего отчета.

• Сделайте надпись размером 16. Выполните команду Формат - Размер - по размеру данных. Измените размер окна, если над­пись видна не полностью.

• Напечатайте в разделе Верхний колонтитул надпись СПИСОК УЧЕНИКОВ размером 14. Эта надпись будет появляться на каж­дой странице. Передвиньте надпись на правый край страницы,

• Напечатайте в разделе Заголовок группы «Учебная группа» надпись Список учеников, затем поместите поле Учебная группа (удалите подпись поля), а потом - слово «группы».

• Поместите поля Фамилия, Имя, Отчество, Год рождения в раз­дел Область данных. Уберите подписи полей. Сделайте размер 12. Выполните команду Формат - Размер - по размеру данных.

• В разделе Нижний колонтитул поместите номера страниц. Для этого добавьте в область данных пустое поле, щелкнув по кнопке аб| и перетащив ее мышкой в нужное место.

• Удалите подпись поля. Выделите пустое поле.

• Включите кнопку – Свойства.

• Наберите значение =[Page] в строке Данные.

• Закройте текущее окно. Номера страниц будут появляться в кон­це каждой страницы.

• Ниже надписи в разделе Заголовок группы проведите линию. Для этого воспользуйтесь кнопкой панели элементов Линия.

• Отделите линиями все заголовки.

Замечание. Выбрав режим предварительного просмотра до­кумента, вы увидите его таким, каким он будет напечатан на бумаге. Линии сетки можно убрать (выберите пункт меню Вид и от­ключите галочку у пункта меню Сетка).

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

Порядок работы:

• Установите для отчета режим Конструктор.

• Добавьте в область данных пустое поле, щелкнув по кнопке аб|, перетащив ее мышкой в область данных в положение перед полем Фамилия.

• Удалите надпись пустого поля.

• Выделите поле и щелкните по кнопке – Свойства на панели инструментов.

• Введите в ячейку Данные выражение =1.

• В ячейке свойства Сумма с накоплением выберите значение Для всего. Во время предварительного просмот­ра или вывода отчета на печать номер каждой следующей за­писи будет увеличиваться на 1, т.е. будет 1,2,3....

• Закройте окно со свойствами полей.

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

• Закройте отчет, предварительно сохранив его под именем Спи­сок учеников.

 

Задание 8. Подсчитайте количество записей в отчете.

Порядок работы:

• Откройте отчет Список учеников в режиме Конструктора.

• Добавьте область примечания отчета, если ее нет в Конструк­торе. Для этого выполните команду Вид - Заголовок/Приме­чание отчета.

• Добавьте в область примечания пустое поле, щелкнув по кнопке аб| и перетащив ее мышкой в область Примечание отче­та в положение под полем Фамилия.

• Убедитесь, что нужное (пустое) поле выбрано, и щелкните по кнопке- Свойства на панели инструментов.

• Введите в ячейку Свойства-Данные вычисляемого поля выра­жение =Count(*). Это выражение использует функцию Count для подсчета всех записей отчета, включая записи, имеющие пустые значения в некоторых полях.

• Введите название: Общее количество записей.

• В режиме предварительного просмотра вы увидите подсчитан­ным общее количество записей.

• Сохраните отчет под тем же именем. Закройте отчет.

 

Задание 9. Создайте отчет с помощью Мастера отчетов,

Порядок работы:

• Откройте закладку Отчеты, если находитесь в другом окне.

• Щелкните по кнопке Создать.

• В появившемся диалоговом окне Новый отчет выберите Мас­тер отчетов и таблицу Список. Щелкните по кнопке ОК.

• В появившемся диалоговом окне создания отчета выберите поля Фамилия, Имя, Отчество, Школа и Класс.

• Щелкните по кнопке Далее. В результате появится новое диа­логовое окно, где следует выбрать поля для группировки (объе­динения по признаку). Например, если требуется напечатать сначала список учеников одной школы, а внутри школы - сначала список учеников 9-го класса, затем 10-го, далее 11 -го класса.

• Добавьте первый уровень - Школа, второй - Класс. Для это­го выберите названия этих полей в левом окне и щелкните по кнопке >. Щелкните по кнопке Далее.

Замечание. С помощью кнопок Уровень можно менять мес­тами уровни группировки. Например, сначала можно сделать группировку по классу, а потом - по школе.

• На этом шаге можно отсортировать данные.

• Щелкните по кнопке Далее.

• Выберите вид макета для отчета ступенчатый и щелкните по кнопке Далее.

• Выберите стиль отчета: Выделенный и щелкните по кнопке Далее.

• Задайте имя отчета: Отчет1 и щелкните по кнопке Готово. Вы попадете в режим просмотра отчета. Возможно переключение в три режима: Конструктор, Предварительный просмотр и Образец.

• Закройте отчет, согласившись с сохранением.

Самостоятельное задание. 1. Составьте отчеты, выбирая разные макеты:

Отчет2 - блок; Отчет2 –структура1; ОтчетЗ - структура 2; Отчёт4 - по левому краю 1; Отчет5 - по левому краю 2.

2. Составьте отчеты, выбирая разные стили:

Отчет6 - компактный; Отчет7 - простой; Отчет8 - строгий; Отчет9 - формальный; Отчет10 - черно-белый.

 

Задание 10. Создайте почтовые наклейки.

Порядок работы:

• Откройте закладку Отчеты. Щелкните по кнопке Создать.

• В появившемся диалоговом окне Новый отчет выберите По­чтовые наклейки и таблицу Список. Щелкните по кнопке ОК.

• В следующем окне щелкните по кнопке Далее.

• В следующем окне создайте прототип наклейки, напечатав нуж­ные слова и выбрав соответствующие поля (переносите поле из правого окна в левое, щелкая по кнопке >.

• Щелкните по кнопке Далее.

• В следующем окне укажите поля для сортировки (например, Фамилия - по алфавиту). Щелкните по кнопке Далее.

• Введите имя отчета Наклейки и щелкните по кнопке Готово.

Задание 11. Добавьте кнопки вызова отчетов на кнопочную форму Заставка.

Порядок работы:

• Откройте ранее созданную форму «Заставка» в режиме Конструктора.

• Выберите на панели элементов значок - Кнопка.

• Разместите кнопку на форме. Появится диалоговое окно Создание кнопок.

• Выберите категорию Работа с отчетом, а действие – Просмотр отчета.

• Щелкните по кнопке Далее.

• Выберите один из созданных отчетов, который будет открываться этой кнопкой, и щелк­ните по кнопке Далее.

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

• Щелкните по кнопке Далее.

• Задайте имя кнопки Отчет1 и щелкните по кнопке Готово.

• Создайте еще одну кнопку без использования мастера.

• Перейдите в панель Свойства для созданной кнопки и на закладке События найдите строку Нажатие кнопки. Создайте процедуру для обработки этого события, выполняя действия аналогично описанным выше при создании программного фильтра.

• В открывшемся редакторе программного кода введите строку:

DoCmd.OpenReport "<имя отчета>"

• Закройте редактор VBA и проверьте работу кнопки.

• Перейдите в режим формы.Теперь при щелчке мышью по соответствующим кнопкам будут открываться соответствующие отчеты для просмотра.

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

Задание 12. Завершите работу с программой Access.

 

 

Лабораторная работа №4.

Unload Me

End Sub

Private Sub mnuObnovl_Click()

FrmRefresh.Show

End Sub

Private Sub mnuFilt_Click()

FrmQuery.Show

End Sub

 

Private Sub mnuPoisk_Click()

FrmFind.Show

End Sub

Private Sub CmbAdd_Click()

Dim m As Long

DataStud.Recordset.MoveLast

m = DataStud.Recordset![Cod]

DataStud.Recordset.AddNew

fl = True

DataStud.Recordset![Cod] = m + 1

cmbSave.Enabled = True

End Sub

Private Sub cmbCancel_Click()

fl = False

DataStud.UpdateControls

cmbSave.Enabled = False

End Sub

Private Sub cmbDelete_Click()

fl = False

DataStud.Recordset.Delete

DataStud.Recordset.MoveLast

DataStud.Caption = "Записей:" & DataStud.Recordset.RecordCount

End Sub

Private Sub cmbSave_Click()

Dim kl As Long

DataStud.Recordset.MoveLast

kl = DataStud.Recordset.RecordCount

DataStud.Caption = "Записей:" & kl

If Not fl Then

DataStud.Recordset.Edit

End If

DataStud.Recordset.Update

' cmbSave.Enabled = False

End Sub

 

9. Формируем диалог по запросам. Необходимо организовать поиск записей по заданному критерию 2 способами. Первый – с использованием последовательного доступа (FindFirst, Findnext …), второй – с использованием SQL-запроса на выборку (параллельный поиск, фильрация).

10. В первом случае, процедуре mnuFind (вызываемой по подпункту Запросы®Поиск) назначаем отображение формы, в которой будет задаваться критерий поиска записей (например, по фамилии студента). В форме можно сформировать одно текстовое поле txtFind и кнопку Поиск cmdPoisk.

 

 

11. Для кнопки задать следующую процедуру:

 

Private Sub cmdPoisk_Click()

Dim D As String

D=frmSpisok.DataStud.Recordset.Bookmark

If.NoMatch Then

.FindFirst “Familie=” & Chr(34) & txtFind.Text & Chr(34)

If.NoMatch Then

MsgBox “No record Find!”

.Bookmark=D

End If

End If

End With

frmFind.txtFind.Text=””

FrmFind.Hide

End Sub

 

12. Во втором случае, вся последовательность действий сохраняется как и при работе с первой формой (всегда начинаете с подключения объекта Data).

13. В этой форме мы используем объект DBGrid для отображения данных в привычном табличном виде. Добавляем этот объект DBGrid в нашу форму, установив его имя DBGridSelRes, также задаём свойству DataSource значение DataStud1.

 

14. Вводим процедуру обработки для кнопки Отобразить результат:

 

Private Sub cmdShow_Click()

Dim SQLStr As String

Dim CapStr As String

'Выбираем поля для просмотра в таблице

SQLStr = "SELECT Familie,Imja,Group, Word, Excel, Access FROM Spisok"

If (DBCmbFam.Text <> "") And (DBCmbGroup.Text <> "") Then

SQLStr = SQLStr & " WHERE (Familie=" & Chr(34) & DBCmbFam.Text & Chr(34) & ") AND (Group= " _

& Chr(34) & DBCmbGroup.Text & Chr(34) & ")"

Else

SQLStr = SQLStr & " WHERE (Familie=" & Chr(34) & DBCmbFam.Text & Chr(34) & ") OR (Group= " _

& Chr(34) & DBCmbGroup.Text & Chr(34) & ")"

End If

SQLStr = SQLStr & " ORDER BY Group DESC"

'MsgBox SQLStr

DataStud1.RecordSource = SQLStr

DataStud1.Refresh

'Создаем строку заголовка объекта TDBGridSelRes

CapStr = "РЕЗУЛЬТАТ ОТБОРА"

DBGridSelRes.Caption = CapStr

If DBGridSelRes.Visible = False Then

DBGridSelRes.Visible = True

End If

DBGridSelRes.SetFocus

End Sub

 

12. Третья форма для обновления содержимого полей БД имеет вид:

 

 

Начните её формирование также с добавления объекта Data (DataStud2) и установки соответствующих свойств.

В рамке разместите 4 переключателя, для каждого из которых (по строке) разместите текстовое поле и раскрывающийся список (задайте их значения свойств). И значению Visible каждого поля и списка присвойте значение False/

12. Для кнопки Обновить введите нижеследующий текст процедуры.

Private Sub cmdRefr_Click()

Dim SQLStr As String

Dim Buf As Database

Set Buf = OpenDatabase("Spisok.mdb")

SQLStr = "UPDATE Spisok SET "

'Выбираем поля для обновления

If optGR = True Then

SQLStr = SQLStr & "[Group]=" & Chr(34) & txtNewGR.Text & Chr(34) & " WHERE ([Group]= " _

& Chr(34) & DBCombo1.Text & Chr(34) & ")"

End If

If optWord = True Then

SQLStr = SQLStr & "Word=" & txtNewWrd.Text & " WHERE Word= " & DBCombo2.Text

End If

If optExc = True Then

SQLStr = SQLStr & "Excel=" & txtNewExc.Text & " WHERE Excel= " & DBCombo3.Text

End If

If optAcc = True Then

SQLStr = SQLStr & "Access=" & txtNewAcc.Text & Chr(34) & " WHERE (Access= " & DBCombo4.Text

End If

MsgBox SQLStr

Buf.Excecute SQLStr

Buf.Close

End Sub

Private Sub optAcc_Click()

txtNewAcc.Visible = True

DBCombo4.Visible = True

End Sub

Private Sub optExc_Click()

txtNewExc.Visible = True

DBCombo3.Visible = True

End Sub

Private Sub optGR_Click()

txtNewGR.Visible = True

DBCombo1.Visible = True

End Sub

Private Sub optWord_Click()

txtNewWrd.Visible = True

DBCombo2.Visible = True

End Sub

Не забывайте по окончании каждого этапа работ сохранять изменённый проект (желательно все файлы в одной папке)

 

13. Теперь необходимо сформировать отчёты.

Для этого добавьте в проект объект Data Report, задайте имя MyReport. Здесь мы сформируем отчёт «Справка» для конкретного учащегося Вы видите, что форма отчета состоит из 5 областей, так же как и в MS Access, в отчете 5 областей заголовок отчёта(4), верхний колонтитул(2), область данных(1), нижний колонтитул(3), примечание отчета(5).



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 130; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.64.201 (0.328 с.)