Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Кафедра информатики и прикладной математики



Факультет автоматизированных систем

 

Кафедра информатики и прикладной математики

 

Методические указания

и варианты курсовой работы

по информатике для специальностей:

 

· 100400 - Электроснабжение;

· 210200 Автоматизация технологических процессов и производств (по отраслям применения);

· 120100 - Технология машиностроения;

· 170900 – Подъемно-транспортные, строительные, дорожные машины и оборудование.

 

Тверь 2006

1. Требование к содержанию и оформлению курсовой работы

 

Содержание курсовой работы

 

Информационная система (ИС) создаётся с помощью системы управления базами данных (СУБД) Microsoft Access.

Созданная ИС должна иметь:

1. Таблицы с исходными данными, причём количество таблиц должно соответствовать количеству типов объектов, содержащихся в исходных данных, а количество записей в главных таблицах должно быть не менее 10. Количество записей в подчинённых таблицах должно быть достаточным для проверки правильности выполнения запросов.

2. Все таблицы должны иметь формы для их заполнения, причём формы для подчинённых таблиц должны содержать поля со списком.

3. Запросы должны иметь названия, по которым можно определить, какая информация будет получена после выполнения запроса. Обязательно должны быть представлены запросы с вычисляемыми полями, запросы с условиями, запросы с параметром, перекрёстные запросы.

4. Количество отчётов должно быть не менее двух.

5. Интерфейс пользователя должен быть выполнен с использованием кнопочных форм и макросов.

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

Оформление курсовой работы

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

Пояснительная записка должна содержать:

1. Титульный лист со следующими данными:

· Наименование вуза;

· Наименование факультета;

· Наименование кафедры;

· Заголовок «Курсовая работа по информатике»;

· Тема курсовой работы;

· Фамилия, курс, номер группы;

· Сведения о руководителе работы;

· Дату выполнения работы.

· Текст задания на курсовую работу.

· Текст задания для своего варианта.

Эти данные должны быть размещены на форме с четырьмя вкладками. На первой вкладке – титульный лист, На второй – текст задания на курсовую работу, на третьей – список полей исходной таблицы. На четвертой – справочные сведения по использованию созданной информационной системы. В приложении должны быть установлены такие параметры запуска, чтобы пользователь при работе с созданной базой данных использовал только команды ее кнопочной формы.

 

Рекомендации по выполнению работы

 

Последовательность создания ИС

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

· нормализация данных;

· создание макетов таблиц;

· установка связей между таблицами;

· создание форм для каждой таблицы;

· заполнение главных таблиц необходимыми данными;

· заполнение подчинённых таблиц данными;

· создание запросов;

· создание отчётов;

· создание интерфейса пользователя.

Эти этапы подробно рассмотрены в последующих пунктах главы на примере создания ИС для фирмы, торгующей кондитерскими изделиями.

 

Нормализация данных

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

Нормализация данных состоит в анализе исходной информации с целью выявления количества типов объектов, сведения о которых необходимо хранить в базе данных, и установлении перечня свойств объектов каждого типа. По результатам нормализации определяется необходимое число таблиц базы данных, а именно, для каждого типа объектов должна быть своя таблица, полями которой являются свойства объектов данного типа. Нормализация должна выполняться в соответствии с требованиями правил нормализации (нормальных форм). Чтобы понять технологию их использовангия рассмотрим следующий пример.

Пусть необходимо создать информационную систему для некоторой фирмы, торгующей кондитерскими изделиями, клиентами которой являются организации. Фирма ведёт учёт своей деятельности, фиксируя следующую информацию о заказе:

 

Номер заказа;

Дата заказа;

Наименование клиента;

Адрес клиента;

Название продукта;

Цена продукта;

Количество продукта;

Стоимость заказа.

 

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

Первое, что нужно сделать – это определиться с целью создания базы данных и кто ее будет использовать для того, чтобы определить поле, с которым будет связан однозначно первичный ключ. Очевидно, что эта база данных нужна для получения оперативной информации о доходах, получаемых при выполнении заказов, что зависит от работы с клиентами. Поэтому первичный ключ будет связан с полем Наименование клиента. После этого надо выполнить второе требование первой нормальной формы. Так как поля Наименование клиента и его адрес однозначно связаны с первичным ключом и один и тот же клиент может делать два и более заказа, то поля Код клиента, Наименование клиента, Адрес клиента выделяет в отдельную таблицу, которую назовем Клиенты. Оставшиеся поля образуют вторую таблицу, которую назовем Заказы. Так перечисленные три поля исключены из исходной таблицы, то во второй таблицы надо предусмотреть поле, с помощью которого можно получить информацию о сделанных заказах клиента. Очевидно, что это поле должно содержать в себе значения первичного ключа и эти значения будут повторяться. Имя этого поля может быть любым, для простоты назовем его Код клиента. Очевидно, что эти две таблицы связаны отношением один-ко-многим.

Вторая таблица не находится в первой нормальной форме, так как у нее нет первичного ключа. Так как эта таблица находится со стороны многие, то для нее нужно создать составной первичный ключ. Его образуют поля Код клиента, Код продукта и либо Номер заказа, либо Дата заказа. Выберем – Код клиента, Код продукта, Номер заказа.

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

Итак, в нашем случае мы имеем объекты трёх типов: клиент, продукт, заказ.

После определения количества типа объектов и выявления их свойств осталось попробовать уменьшить объём хранимой информации, так как чем меньше объём базы данных, тем быстрее будет работать информационная система. В нашем случае единственная возможность сделать это – исключить из свойств заказа его стоимость. Действительно, стоимость заказа определяется произведением цены продукта на количество и, следовательно, всегда может быть вычислена, если в этом возникнет необходимость.

Итак, в результате нормализации мы выяснили, что база данных содержит три типа объектов: клиент, продукт, заказ. Эти объекты обладают следующими свойствами.

Таблица 1

Тип объекта Его реальность Свойства объекта
клиент реальный Код клиента Наименование клиента Адрес клиента
продукт реальный Код продукта Название продукта Цена продукта
заказ виртуальный Номер заказа Дата заказа Код клиента Код продукта Количество продукта

Создание таблиц

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

В нашем случае названия таблиц могут быть такими: «Клиенты», «Продукты», «Заказы».

Первичный ключ - это минимальный набор полей, позволяющий однозначно отличить одну запись от другой.

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

В таблице «Клиенты» поле «код клиента» может служить первичным ключом, т.к. не может быть двух клиентов с одинаковым кодом. Аналогично, у таблицы «Продукты» первичным ключом может быть поле «код продукта». Так как, по нашему предположению, клиенты каждый раз заказывают только один тип продукта, то первичным ключом таблицы «Заказы» может быть поле «номер заказа».

Давая имена полям таблицы необходимо руководствоваться следующими соображениями.

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

Во-вторых, желательно, чтобы имена полей имели смысловое содержание, соответствующее данным, хранящимся в этом поле.

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

 

Клиенты
Код клиента наименование адрес

 

Продукты
Код продукта Название цена

 

Заказы
Номер заказа Код клиента Код продукта количество дата

 

Теперь нужно определиться с типом данных, хранимых в каждом поле. Будем считать, что поля «код клиента», «код продукта», «цена», «номер заказа» и «количество» содержат числовые данные. Поля «наименование», «адрес» и «название» содержат текстовые данные, а поле «дата» - специальный тип «Дата/Время».

Последовательность создания таблиц рассмотрим на примере таблицы «Клиенты».

В окне базы данных щелкнуть на объекте «Таблицы», а затем щелкнуть по кнопке «Создать».

В появившемся окошке выделить строчку «Конструктор» и нажать ОК.

В первой строке столбца «Имя поля» набрать имя «Код клиента» (без кавычек конечно) и нажать на клавишу «Таб».

В столбце «Тип данных» выбрать из списка «Числовой», а внизу в строке «Размер поля» должно стоять «Длинное целое». Если это не так, надо щелкнуть мышкой в этой строке и выбрать из списка «Длинное целое».

В строке «Значение по умолчанию» удалить 0.

Щелкнуть в строке «Обязательное поле» и выбрать из списка «Да».

Щелкнуть в строке «Индексированное поле» и выбрать из списка «Да (совпадения не допускаются)».

На этом создание поля «Код клиента» можно считать законченным.

Теперь в следующей строке аналогично создадим поле «Наименование», только тип данных будет «Текстовый», поле обязательное, а всё остальное можно оставить как есть.

В третье строке создать поле «Адрес», которое имеет тип данных «Текстовый», только размер поля установить равным 80 символам.

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

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

Осталось присвоить таблице имя. Для этого нажать в панели инструментов на кнопку «Сохранить», ввести имя таблицы «Клиенты» и на ОК.

Аналогично создаются и таблицы «Продукты» и «Заказы».

В таблице «Продукты» поле «Цена» имеет тип «Числовой», а свойства поля должны быть установлены так:

 

· размер поля - «одинарное с плавающей точкой»,

· число десятичных знаков – 2,

· обязательное поле – Да.

·

В таблице «Заказы» поля имеют следующие свойства.

 

«Номер заказа» - длинное целое, обязательное поле – Да, индексированное поле – Да(Совпадения не допускаются).

«Код клиента» - длинное целое, обязательное поле – Да, индексированное поле – Нет.

«Код продукта» - аналогично коду клиента.

«Количество» - «одинарное с плавающей точкой», обязательное поле – Да, индексированное поле – Нет.

«Дата» - тип «Дата/время», формат поля - «Краткий формат даты», обязательное поле – Да.

 

Внести изменения в созданную таблицу можно щелкнув по имени таблицы, а затем по кнопке «Конструктор». Вообще аналогично редактируются и все другие объекты базы данных, формы, запросы и т.д.

 

2.4. Установка связей между таблицами

Чтобы информационная система функционировала правильно необходимо установить связи между таблицами базы данных. Рассмотрим, как это делается в СУБД «MS Access».

Таблицы «Заказы» и «Клиенты» связаны друг с другом одноименным полем « Код клиента », а таблицы «Заказы» и «Продукты» связаны друг с другом одноименным полем «Код продукта». Главными таблицами в этих парах являются таблицы «Клиенты» и «Продукты», а таблица «Заказы» - подчинённая.

Чтобы установить связи необходимо сделать следующее.

1. С помощью меню «Сервис/Схема данных» открыть окно, в котором выделить все взаимосвязанные таблицы (клавишу Ctrl надо держать нажатой) и нажать на кнопку «Добавить», а потом на кнопку «Закрыть».

2. Должно появиться окно с изображением таблиц. Если между таблицами есть линии, соединяющие одноименные поля, значит программа автоматически установила связи. Если этих линий нет, надо установить связи вручную. Сначала мышкой перетащить изображения таблиц в новые места, для того, чтобы появившиеся линии не пересекали таблиц (в нашем случае надо расположить таблицы так, чтобы таблица «Заказы» была между двумя другими таблицами). Если изображения таблиц не перемещаются, то надо сначала щелкнуть по какому-нибудь полю в этом изображении. Изображения перемещаются за заголовки окошек. В общем, должно получиться что-то похожее на этом рисунке

 

 

3. Подвести указатель мыши к имени поля в главной таблице, нажать левую кнопку и, не отпуская ее, перетащить поле к одноименному полю подчиненной таблицы, после чего отпустить левую кнопку. В появившемся окне поставить галочку у пункта «Обеспечение целостности данных» и нажать на кнопку «Создать». Это надо проделать с полями «Код клиента» и «Код продукта». Должна получиться такая картина.

 

Если это не так (в смысле единичка и знак бесконечности стоят не там), надо внести коррективы, но сначала удалить неправильную связь. Для этого подвести указатель мыши к линии связи и щелкнуть правой кнопкой, после чего выбрать пункт меню «Удалить». После этого можно снова перетащить поле из главной таблицы в подчиненную.

4. После установки всех необходимых связей надо закрыть окно «Схема данных», подтвердив сохранение схемы.

Чтобы скопировать схему данных, нужно её вызвать на экран и нажать сочетание клавиш «Alt+Print Screen». После этого её можно будет вставить из буфера обмена на лист пояснительной записки.

 

2.5. Создание форм для работы с таблицами

Внесение данных в таблицы лучше осуществлять через соответствующие формы. Форма должна содержать все поля таблицы. Поля формы могут быть двух типов:

· поля первого типа заполняются вводом значений с клавиатуры;

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

Создание форм рассмотрим на примере формы для таблицы «Заказы».

В нашем случае полями первого типа будут поля «Номер заказа», «Количество» и «Дата».

Полями второго типа будут поля «Код клиента» и «Код продукта», причем в форме будут содержаться списки клиентов и продуктов, но в таблицу «Заказы» будет передаваться их код! На это надо обратить внимание при создании этих полей.

Чтобы создать форму надо сделать следующее.

1. Щелкнуть на объекте «Формы» и по кнопке «Создать».

2. В появившемся окне выбрать из списка строку «Мастер форм», в нижней части окна открыть список, выбрать таблицу «Заказы» и нажать ОК. Должно появится окно «Создание форм».

3. Сначала создадим поля первого типа. В списке «Доступные поля» выделить поле «Номер заказа» и нажать на кнопку с изображением угла, направленного острием вправо. Это поле переместится в список «Выбранные поля». Аналогично поступить с полями «Количество» и «Дата».

4. Нажать на кнопку «Далее», поставить точку у пункта «В один столбец» (если она там не стоит) и нажать кнопку «Далее».

Выбрать стиль «Стандартный» и на кнопку «Далее».

5. В появившемся окне задается имя формы (оставляем имя Заказы) и выбирается дальнейшее действие. Так как форма содержит еще не все необходимые поля, надо поставить точку у пункты «изменить макет формы» и нажать «Готово».

6. Появится окно с шаблоном формы и панелью элементов. Внимательно рассмотрите шаблон и панель элементов. Шаблон содержит три области:

 

«Заголовок формы»;

«Область данных»;

«Примечание формы».

 

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

Выглядит это примерно так.

 

 

Необходимо будет проделать следующее. Добавить недостающие поля «Код клиента», «Код продукта» и расположить все поля в таком же порядке как в таблице «Заказы».

6.1. Чтобы в области данных поместились поля «Код клиента» и «Код продукта» надо эту область сделать побольше, как показано на рис. 1.

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

6.2. Теперь необходимо перетащить пониже поля «Количество» и «Дата» чтобы освободить место после поля «Номер заказа». Для этого сначала щелкнуть левой кнопкой по надписи «Дата» на сером фоне. Вокруг надписи появится выделяющая рамка. Подвести указатель мыши к верхнему левому углу рамки и когда он примет вид черной руки, нажать левую кнопку и перетащить рамку вниз. Затем то же самое проделать с надписью «Дата» на белом фоне.

 

Рис. 1. Форма Заказы в режиме конструктора

Аналогичным образом надо перетащить вниз и поле «Количество».

И выглядеть это должно так.

 

 

Теперь настала пора создавать поля второго типа, т.е. поля «Код клиента» и «Код продукта».

6.3. Щелкнуть по кнопке «Поле со списком» в панели элементов, подвести указатель мыши в то место области данных, где надо разместить поле со списком и щелкнуть левой кнопкой.

6.4. В появившемся окне отметить пункт «объект поле со списком будет использовать значения из таблицы или запроса» и нажать «Далее».

Выбрать из списка таблицу «Клиенты» и снова на кнопку «Далее». Появится окно, в котором надо поле «Наименование» переместить в список «Выбранные поля» и нажать на кнопку «Далее».

6.5. В появившемся окне прочитать второй абзац указаний и выполнить его, после чего нажать на кнопку «Далее».

6.6. Поставить точку у пункта «Сохранить в поле», выбрать из списка поле «Код клиента» и нажать кнопку «Далее». Появится окно, где необходимо задать подпись для создаваемого поля (назовем его «Клиент») и нажать на кнопку «Готово».

6.7. То же самое надо проделать для поля «Код продукта». Т.е. проделываем пункты 6.3-6.6. Естественно в пункте 6.4 выберем таблицу «Продукты» и выберем поле «Название». В пункте 6.6 надо указать, что значение сохраняем в поле «Код продукта». Поле назвать «Продукт».

7. После этого все должно выглядеть примерно так.

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

Создание запросов

Создание запроса с условием

Составляя макет запроса «Общий», мы нечего не указывали в строчках «Сортировка» и «Условие отбора», а они играют очень важную роль при работе с базой данных.

В строке «Сортировка» можно указать порядок вывода на экран записей (по возрастанию или по убыванию).

В строках «Условие отбора» и «или» можно указать условные или логические выражения, которые позволят отобрать для запроса только записи, удовлетворяющие заданному условию.

Рассмотрим задачу получения тех же сведений, что и в запросе «Общий», но только для клиента с кодом 40. Т.е. нам надо, чтобы из таблицы «Заказы» были отобраны только те записи, для которых код клиента равняется 40.

Чтобы не создавать запрос заново, модифицируем запрос «Общий».

· Выделим запрос «Общий» и нажмем кнопку «Конструктор».

· Надо добавить еще один столбец, поэтому щелкнуть левой кнопкой в строке «Имя таблицы» в следующем столбце, за столбцом «Стоимость» и выбрать из списка таблицу «Заказы».

· В строке «Поле» этого же столбца выбрать из списка «Код клиента».

· В строке «Групповая операция» выбрать из списка «Условие».

· Убрать галочку в строке «Вывод на экран».

· В строке «Условие отбора» набрать 40.

· Меню «Файл/Сохранить как» и набрать новое имя запроса «Клиент 40».

· Макет закрыть и сохранить.

Открыть запрос «Клиент 40» и убедиться, что всё работает правильно.

 

Запрос на удаление

Запрос на удаление позволяет удалить записи из таблицы. В запросе указываются таблицы, из которых должны удаляться записи, и задаются условия отбора удаляемых записей.

Пусть мы хотим удалить из таблицы «Заказы» все записи, в которых продуктом служит «Пастила фруктовая». Начало как при создании обычного запроса на выборку на основе двух таблиц: «Заказы» и «Продукты».

 

Затем надо мышкой перетащить звёздочку из таблицы «Заказы» в строку «Поле» макета запроса, как показано на рисунке.

 

 

Во втором столбце макета запроса надо установить условие отбора “Пастила фруктовая” на поле «Название» таблицы «Продукты».

 

Затем, не выходя из конструктора, надо открыть список «Тип запроса» в панели инструментов и выбрать из этого списка строчку «Удаление». Должно получиться следующее.

 

 

После этого можно закрыть макет запроса подтвердив сохранение и присвоим ему соответствующее имя.

 

Запрос на создание таблицы

 

Когда выполняется запрос, то создаётся временная таблица, которая исчезает после закрытия запроса. Если необходимо создать постоянную таблицу, то надо воспользоваться запросом на создание таблицы, который вначале создаётся как обычный запрос на выборку с теми полями, которые должны присутствовать в новой таблице. Затем, не выходя из конструктора, надо открыть список «Тип запроса» в панели инструментов и выбрать из этого списка строчку «Создание таблицы».

 

Создание отчётов

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

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

Первый вариант. Если отчет будет создаваться по одной таблице или по одному запросу.

1. Щелкнуть по объекту «Отчеты», нажать кнопку «Создать», выделить строчку «Мастер отчетов», выбрать внизу из списка источник данных и нажать на кнопку ОК.

2. Из списка «Доступные поля» перенести в окно «Выбранные поля», те поля, которые будут использованы в отчете и нажать кнопку «Далее».

3. Этот пункт делается по мере необходимости! Нажимая на кнопки со стрелками вправо или влево, добавить или убрать уровни группировки данных в отчете. Нажать на кнопку «Далее».

4. Этот пункт делается только в том случае, когда необходимо осуществить сортировку по ПЕРВОМУ полю! Выбрать из списка название поля и, нажимая на кнопку, расположенную справа, установить сортировку по возрастанию или убыванию. Нажать на кнопку «Далее».

5. Выбрать вид макета, ориентацию страниц отчета и нажать на кнопку «Далее».

6. Выбрать требуемый стиль и нажать на кнопку «Далее».

7. Задать имя отчета и нажать на кнопку «Готово».

8. Если необходимо произвести сортировку по полю, которое не является первым, то отчет надо открыть в конструкторе и щелкнуть в панели инструментов по кнопке «Сортировка и группировка». В появившемся окне выбрать имя поля, по которому будет производится сортировка и указать как сортировать (по возрастанию или по убыванию). После этого закрыть окно и отчёт, подтвердив сохранение внесенных изменений.

Второй вариант. Отчет будет создаваться на основе нескольких таблиц или нескольких запросов.

1. Щелкнуть по объекту «Отчеты», нажать кнопку «Создать», выделить строчку «Мастер отчетов», строчку источника данных оставить пустой и нажать на кнопку ОК.

2. Выбирать по очереди из списка необходимые таблицы или запросы, перемещать требуемые поля из доступных в выбранные, и когда все необходимые поля будут набраны, нажать на кнопку «Далее».

3. Пункты с 3 по 7 аналогичны первому случаю.

 

Макросы

Макрос – это программа состоящая из последовательности макрокоманд.

Макрокоманда – это инструкция, предписывающая базе данных выполнить определённое действие над каким-либо объектом базы дынных.

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

В Access имеется более 50 макрокоманд.

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

Чтобы создать макрос надо перейти на закладку «Макросы» и щелкнуть по кнопке «Создать». Появиться окно макроса.

Макрос1: макрос
Макрокоманда Примечание
   

В столбце «Макрокоманда» из списка выбирается нужная макрокоманда, после чего в нижней части надо указать необходимые аргументы для данной макрокоманды. Например, если в качестве макрокоманды выбрать «ОткрытьФорму», то появиться список её аргументов, среди который есть аргумент «Имя формы». Значение этого аргумента устанавливается выбором имени той формы, которую надо открыть из списка.

В столбце «Примечание» можно написать пояснение к данной макрокоманде, если оно необходимо.

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

После ввода всех макрокоманд необходимо закрыть окно макроса и присвоить ему какое-то имя.

При работе с запросами можно было наблюдать, как окно запроса занимает неудобное положение на экране и имеет неподходящие размеры. При использование макроса для выполнения запроса можно разметы окна и его положение задавать заранее. Для примера, рассмотрим создание макроса для выполнения запроса «Итоги». Этот макрос должен содержать две макрокоманды.

Первая макрокоманда «ОткрытьЗапрос» с аргументом «Имя запроса» - «Итоги».

Вторая макрокоманда «СдвигРазмер», которая имеет четыре аргумента: по правому краю, От верхнего края, ширина, высота. Эти аргументы имеют следующий смысл (см. рис.)

 
 

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

Все макрокоманды в макросе выполняются последовательно одна за другой. Однако, можно сделать так, что выполнение той или иной макрокоманды будет происходить в зависимости от заданных условий. Для этого в окно создания макроса надо добавить столбец для ввода условий. Это делается с помощью щелчка по кнопке «Условия» в панели инструментов.

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

Например, [Дата] Between 2.04.2005 And 20.04.2005

С помощью задания следующего условия можно обеспечить выполнение некоторого действия в диалоговом режиме. Если в столбце «условие» написать такое выражение

MsgBox(«Открыть отчёт? », 1)=1

То это вызовет появление на экране диалогового окна с вопросом («Открыть отчёт? » и двумя кнопками ОК и Отмена. Если нажать ОК, то окошко возвращает значение 1 и, следовательно, эта макрокоманда будет выполнена. Если нажать кнопку Отмена, то окошко вернёт значение 2, а 2 1 и, следовательно, эта макрокоманда не будет выполнена.

Если по условию должно быть выполнено несколько макрокоманд, то в столбце «Условие» для этих макрокоманд (кроме первой, где указано условие) надо набрать многоточие (…).

В макросе можно вызывать для выполнения уже существующие макросы. Для этого существует макрокоманда «Выполнить макрос», аргументом которой служит имя вызываемого макроса.

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

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

 

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

Интерфейс пользователя – это те элементы базы данных с которыми непосредственно взаимодействует пользователь. Так как, пользователь может ничего не знать о разработке баз данных, ему необходимо предоставить возможность работать с базой данных с минимумом различных действий. Этому условию отвечают кнопочные формы, в которых всё многообразие действий сводится к нажатию кнопок и внесению необходимых данных. Перед созданием кнопочных форм разработчику бывает необходимо автоматизировать выполнение некоторых операций с таблицами и запросами. Это можно сделать с помощью макросов или программированием на VBA. Наиболее простой способ – использование макросов.

Кнопочная форма – это форма, содержащая кнопки, щелчок по которым приводит к выводу различных объектов базы данных.

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

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

Порядок создания кнопочного интерфейса следующий.

1. Создаются формы для работы со всеми таблицами.

2. Создаются подчинённые кнопочные формы.

3. Создаётся главная кнопочная форма.

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

2.9.2. Создание подчинённой кнопочной формы для работы с таблицами

Щелчок по кнопке «Создать», выбрать строку «Конструктор» и сразу щелчок по ОК. Появится пустой макет формы. Если на нём присутствуют области «Заголовок формы» и «Примечание формы» то их надо удалить через меню «Вид/Заголовок\примечание формы», в макете должна остаться только область данных.

 

 

Рис. 2. Структура интерфейса пользователя

 

Щелкнуть правой кнопкой в левом верхнем углу формы на пересечении верхней и левой линеек и выбрать пункт «Свойства». Должно появиться окно, в верхней части которого имеется поле со списком. Должно появиться окно, в верхней части которого имеется поле со списком. Выбрать из этого списка строку «Форма».

Перейти на закладку «Макет» и установить свойства «область выделения» – нет, «кнопки перехода» – нет, а затем закрыть окно.

В верхней части макета поместить текст «Таблицы».

В панели элементов щелкнуть по элементу «Кнопка» и в области данных растянуть небольшой прямоугольник в том месте, где должна находится кнопка. После отпускания левой кнопки мыши, появится окно «Создание кнопок». Выбрать в нём категорию «Работа с формой» и действия – «Открыть форму». После этого по кнопке «Далее».

На следующем шаге надо выбрать форму, которая будет открываться данной кнопкой. Сначала выберем форму «Клиенты» и Далее.

Отметить пункт «Открыть форму и показать все записи» и Далее.

На следующем шаге выбирается что будет изображено на самой кнопке: или текст или рисунок.

На последнем шаге кнопке можно присвоить какое-то имя, которое будет использоваться в случае написания программы, например, на ВБ. Если вы программу писать не собираетесь, можно оставить предлагаемое имя.

Теперь можно щелкнуть по кнопке «Готово».

Если на кнопке изображён рисунок, то справа от неё надо добавить поясняющий текст, например, «Таблица Клиенты».

Аналогично создаются и кнопки для открытия других форм.

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

Начало такое же, но в качестве действия выбрать «Закрыть форму».

 

Варианты заданий и название базы данных


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-29; Просмотров: 337; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.144 с.)
Главная | Случайная страница | Обратная связь