Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
l Мастер диаграмм. Позволяет строить диаграммы различного вида на основе таблиц и запросов. Построить диаграмму по таблице, не содержащей числовых данных, можно только в случае, если диаграмма должна отражать количество значений какого-нибудь поля, соответствующих значениям другого поля. Мастер диаграмм отчета ничем не отличается от Мастера диаграмм формы.
l Почтовые наклейки. Позволяет создавать сообщения, как правило, предназначенные для рассылки разным людям и содержащие, кроме общей для всех части, данные из БД, свои для каждого человека, например, его фамилию и имя. Мастер наклеек позволяет выбрать из предлагаемого списка нужный размер наклейки, установить тип, размер и цвет текста сообщения, порядок сортировки набора сообщений.
Каждый элемент отчета, каждый его раздел (заголовок отчета, заголовки групп, итоговые области, колонтитулы, область детализации) и отчет в целом имеют свои свойства. Например, свойство раздела «Не разрывать», установленное в «Да» приводит к попытке напечатать весь раздел на одной странице. Можно скрыть раздел, установив свойство «Вывод на экран» в значение «Нет», если такую установку сделать из процедуры или макроса, то ее можно связать с определенными значениями данных. Если свойство раздела «Расширение», установлено в «Да», то при выводе на экран элемента из этого раздела, который занимает места больше, чем ему выделено, раздел расширяется, при этом, конечно и свойство Расширение самого элемента должно быть установлено в «Да». Свойство Сжатие установленное в «Да», позволяет убрать из отчета элемент, не содержащий данных. Бланк свойств каждого элемента отчета выводится, если выделить элемент и выполнить команду Вид4Свойства или выбрать строку Свойства из контекстного меню. Бланк свойств отчета выводится, если выполнить команду Правка4Выделить отчет, а затем команду Вид4Свойства.
В отчете, как и в форме, используются поля, в которых вычисляются значения, при этом используются несколько десятков встроенных функций. Например, можно добавить в колонтитул текущую дату с помощью функций Date() или Now(), номер страницы можно ввести в колонтитул, если свойство Данные поля, созданного в колонтитуле, установить в значение =Page. В ряде случаев удобно вместо нескольких элементов текстового типа создать в отчете 1 элемент, являющийся конкатенацией строк. Строки, при этом, могут быть как текстовыми константами, так и значениями полей БД. В случае создания единого элемента из нескольких строк можно установить шрифт для элемента целиком, выровнять текст, установить для всего текста возможность расширения, то есть перехода на следующую строку. Это удобно, например, если отчет представляет собой каталог имеющихся в продаже изданий. Пусть в БД есть таблица Каталог (Автор, Название, Место_издания, Издательство, Год_издания, Количество_экземпляров, Цена_в_рублях, Переплет, Количество_страниц), а каталог должен быть представлен в виде:
Книга | Цена | Количество | Переплет |
Чехов А, Чайка, М.: Прогресс, 2003, - 200 с. | 30 | 100 | жесткий |
Мастер и Маргарита, СПб.:Азбука, 2002, - 238 с. | 40 | 200 | мягкий |
и т. п.
При этом библиографические значки «,», «.», «-», «:», «с.» в БД, конечно, не хранятся. Три последних столбца будут формироваться в отчете как значения полей Цена_в_рублях, Количество_экземпляров и Переплет. Для формирования первого столбца в качестве значения поля в строку «Данные» следует ввести выражение вида:
= [Автор] & “, “ & [Название] & “, ” & [Место_издания] & “.: ” & [Издательство] & “, “ & [Год_издания] & “, - “ & [Количество_страниц] & “c.”.
Если бы значения полей Автор, Название, Место_издания, Издательство, Год_издания и Количество_страниц выводились из БД отдельно друг от друга, то есть в отчете было бы создано 6 полей вместо одного, то не только не удалось бы вывести отсутствующие в БД библиографические знаки, но даже разместить поля в каждой строке вплотную друг к другу, поскольку значения одного и того же поля для разных строк могут значительно отличаться по длине, например, фамилии авторов или названия книг. Размер, который отводится в отчете под каждый столбец фиксируется. Не все значения вписываются в этот размер. Например, места для первой книги оказалось достаточно, а для второй нет. Переход в случае необходимости на следующую строку, как это показано в таблице, будет происходить при выводе отчета, если свойство Расширение поля первого столбца установить в значение «Да».
Если вы хотите, чтобы какой-то элемент отчета выводился не всегда, а в зависимости от его значения или значений других элементов отчета, надо в свойстве Данные этого элемента использовать функцию IIF(). Первым аргументом этой функции является проверяемое условие, второй аргумент – значение, которое возвращает функция, если условие истинно, а третий – значение, возвращаемое функцией, если условие ложно. В качестве одного из возвращаемых значений можно задать пустую строку – “ ”. Чтобы поле исчезало, когда его значение окажется равным пустой строке, значением свойства Сжатие этого поля должно быть «Да».
Порядок выполнения работы.
10. Создание простейшего отчета.
Создадим отчет, представляющий собой список преподавателей с указанием их должности и нагрузки.

Рис. 2.4 Списочный отчет, представляющий собой автоотчет
Для создания такого отчета:
l Находясь в окне базы данных, щелкните по корешку Отчеты, а затем по кнопке Создать.
l Из списка возможных способов создания выберите Автоотчет: ленточный.
l Из списка источников данных выберите таблицу PREP и щелкните OK.
l Сохраните отчет под именем «Список преподавателей».
l В полученном отчете все хорошо, но хотелось бы иметь заголовки, написанные русскими буквами, и список, отсортированный по алфавиту. Корректировку отчета выполним в режиме Конструктора. Для этого:
l В окне базы данных выберите только что созданный отчет Список преподавателей и щелкните по кнопке Конструктор.
l Выделите заголовок, щелкнув на нем мышью, и вместо слова PREP введите слова Список преподавателей.
l Поменяйте заголовки столбцов соответственно на Ф. И.О., Категория, Нагрузка.
l Увеличьте размеры полей и измените их расположение там, где это требуется.
l Щелкните по пиктограмме «Сортировка и группировка» или выберите такую строку в меню Вид.
l Выберите из списка поле с фамилиями преподавателей, по которому будет производиться сортировка. Порядок сортировки установите «По возрастанию».
l Закрыв окно сортировки, а затем окно конструирования отчета, и сохранив изменения, перейдите в режим просмотра отчета. Убедитесь в том, что отчет выглядит так, как показано на рисунке 2.4. Если это не так, вновь вернитесь в окно конструирования отчетов и внесите нужные изменения.
Такой отчет можно получить и другим способом, не переходя в режим конструктора, а воспользовавшись услугами Мастера отчетов. Мастер позволяет создавать отчеты, включающие не обязательно все, а только выбранные столбцы таблицы. Постройте с помощью Мастера отчет под названием «Нагрузка преподавателей», представляющий собой таблицу, которая имеет два столбца: Ф. И.О. преподавателя и его нагрузка. Вид такого отчета приведен на рис. 2.5.
Рис. 2.5
![]() |
Списочный отчет, созданный Мастером.
Данные в таблице должны быть упорядочены по полю Ф. И.О. Для создания отчета:
l Щелкните , находясь в окне базы данных, в разделе Отчеты, по кнопке Создать.
l Выберите из списка возможных способов создания отчета Мастер отчетов, а из списка источников данных таблицу PREP. Щелкните по кнопке OK.
l В первом окне Мастера отчетов выберите поля, содержащие фамилию и нагрузку преподавателей, щелкните по кнопке Далее.
l Уровни группировки в данном случае добавлять не надо, сразу же перейдите к следующему окну, щелкнув по кнопке Далее.
l Задайте сортировку по возрастанию значения в поле Ф. И.О. и щелкните по кнопке Далее.
l Выберите вид макета отчета «табличный» с книжной ориентацией. Перейдите к следующему окну.
l Выберите из списка понравившийся вам стиль оформления отчета, перейдите к следующему окну.
l Задайте имя отчета «Нагрузка преподавателей». Щелкните по кнопке Готово и, убедившись, что вы получили то, что хотели, закройте окно просмотра отчета.
11. Создание статистического отчета.
Пусть требуется не только получить сведения о нагрузке преподавателей, но и подсчитать общую или среднюю нагрузку преподавателей по институту или по кафедре. Для создания такого отчета также воспользуемся помощью Мастера. Создание такого отчета почти не отличается от создания отчета Нагрузка преподавателей, но требует добавления уровня группировки по полю Нагрузка. Запустите Мастера и начните создавать с его помощью отчет так же, как вы это делали в предыдущем случае. Добавив на очередном шаге группировку по полю Нагрузка, сделайте следующее:
l Щелкните по кнопке Группировка...
l Выберите в качестве интервала группировки 1000 или более, чтобы все строки заведомо попали в одну группу.
l Закройте окно группировки, а затем щелкните по кнопке Далее и перейдите в окно сортировки.
l Обратите внимание, что окно сортировки пополнилось кнопкой Итоги..., которой не было при создании предыдущего отчета. Это произошло после добавления группировки.
l Щелкните по кнопке Итоги... и укажите, что необходимо вычислить среднее значение (AVG) поля «Нагрузка».
l Далее действуйте также, как и при создании предыдущего отчета, выбрав порядок сортировки по возрастанию значения поля «Ф. И.О».
l Перейдя к следующему окну, обратите внимание, что возможностей для выбора макета отчета стало больше. Выберите наиболее вам понравившийся.
l В последнем окне Мастера задайте имя отчета: Итоговый отчет о нагрузке.
l Посмотрите, что у вас получилось. Пожалуй, стоит изменить подпись AVG на подпись «Средняя нагрузка» и убрать предшествующую ей строку, а также строку, следующую за заголовком.
Выполните указанные действия в режиме Конструктора, удалив ненужные элементы в области Заголовок группы 'Nagr' и Примечание группы 'Nagr'. Измените также подпись AVG в области Примечание группы 'Nagr' на подпись Средняя нагрузка. Закройте окно конструирования отчета, сохранив изменения. Убедитесь, что отчет выглядит так, как это показано на рисунке 2.6.
Рис. 2.6 Списочный отчет с подведением итогов
![]() |
12. Создание сложного отчета с группировкой на базе нескольких таблиц.
Пусть требуется создать отчет, содержащий сведения о том, на каком факультете работает каждый из преподавателей, какие дисциплины он преподает и какова при этом его годовая нагрузка. Сведения, содержащиеся в отчете, должны иметь два уровня группировки: на верхнем уровне они должны быть сгруппированы по факультетам, а на нижнем - по дисциплинам. Необходимо подсчитать среднюю нагрузку преподавателей по каждому факультету, а также по институту в целом. Отчет должен выглядеть так, как показано на рисунке 2.7.

Рис. 2.7 Итоговый отчет с двумя уровнями группировки: по факультетам и дисциплинам
Попробуем создать такой отчет с помощью Мастера:
l Выбрав из списка возможных способов создания отчетов строку Мастер отчетов, щелкните по кнопке OK.
l Из таблицы Dis_Gr выберите поля PR, FAK, DIS, а из таблицы Prep поле Nagr. Щелкните по кнопке Далее.
l Выберите тип представления данных по Dis_Gr и перейдите к следующему окну.
l Добавьте уровни группировки по полям Fak и Dis. Перейдите к следующему окну.
l Выберите порядок сортировки по полю PR. Щелкните по кнопке Итоги.... Укажите, что необходимо подсчитать среднюю нагрузку (AVG). Перейдите к следующему окну.
l Выберите макет для отчета, например, «По левому краю». Перейдите к следующему окну.
l Выберите стиль отчета, соответствующий рисунку, и перейдите к следующему окну.
l Назовите отчет Итоги по факультетам. Щелкните по кнопке Готово.
l Просмотрите отчет и перейдите в режим конструирования для внесения ряда изменений:
l Удалите подведение итогов по группе Dis.
l Поменяйте формат в полях подсчета средней нагрузки на фиксированный с одним знаком после запятой. Это надо сделать в окне свойств поля, которое можно открыть, выделив поле, а затем щелкнув правой кнопкой мыши и выбрав строку Свойства.
l Добавьте в конец отчета (в область «Примечание отчета») подсчет средней нагрузки по всему институту.
l Замените все надписи, которые есть в отчете, на надписи на русском языке.
l Сведения о средней нагрузке по институту выделите рамкой (элемент прямоугольник).
l Проведите линию, разделяющую факультеты.
l Покажите созданный вами отчет преподавателю.
Задание для самостоятельной работы.
13. Создайте на базе двух связанных таблиц: Prep и Dis_Gr базы данных Teach отчет, предназначенный для разрезания на части и раздачи каждому преподавателю сведений о его нагрузке. Отчет должен содержать информацию о том, сколько всего часов запланировано, какие дисциплины и в каких группах. Отчет должен выглядеть так, как показано на рисунке 2.8.

Рис. 2.8 Отчет «Планируемая нагрузка».
14. Создайте на базе таблицы Prep базы данных Teach набор сообщений для рассылки преподавателям кафедры. Для создания приведенного на рисунке 2.9 набора сообщений, воспользуйтесь Мастером почтовых наклеек. Обратите внимание, что в стандартный текст, который вы должны будете набрать с клавиатуры, внедряются значения полей Ф. И.О, Категория и Нагрузка.

Рис. 2.9 Отчет с сообщениями о нагрузке преподавателей, предназначенный для рассылки.
15. Измените отчет, приведенный на рисунке 2.9, таким образом, чтобы сообщение для преподавателей, нагрузка которых равна 0, не печатались. Сохраните его под именем, отличным от имени предыдущего отчета. Для внесения указанных изменений можно воспользоваться фильтром (свойство отчета «Фильтр», позволяющее задать условие отбора данных) или функцией IIF().
16. Создайте с помощью Мастера отчет «Контракт», представляющий собой список преподавателей с указанием даты заключения контракта каждым из них. Модифицируйте этот отчет таким образом, чтобы для каждого преподавателя, у которого срок контракта, заключаемый на 5 лет, истек, правее даты заключения контракта выводилось синим курсивом соответствующее сообщение. Для решения этой задачи воспользуйтесь функцией IIF(). Назовите модифицированный отчет «Контракт1».
Лабораторная работа № 9: Создание макросов.
Цель работы
Знакомство со средством СУБД, предназначенным для создания программ и позволяющим даже начинающему пользователю выступить в роли программиста, пишущего быстро и без ошибок.
Общие сведения.
Access поддерживает две, параллельно существующие, системы программирования. Одна из них – это система программирования на языке Visual Basic, рассматривать которую мы не будем, так как. этому языку обычно посвящают отдельный курс. Вторая система – это макропрограммирование, то есть создание макросов – последовательностей макрокоманд, каждая из которых выбирается и формируется пользователем в режиме диалога. Возникает вопрос, в каких случаях целесообразно использовать ту или иную систему программирования. Макросов обычно бывает достаточно для создания небольших персональных приложений. Для сложных приложений или приложений, работающих в сети в режиме коллективного доступа, вероятно, потребуется Visual Basic. Впрочем, макрос легко преобразовать в программу на языке Visual Basic в любой момент, когда в этом возникнет необходимость. Для этого надо в режиме конструктора открыть форму, содержащую элемент, связанный с макросом, который требуется преобразовать в программный код. Затем надо выбрать команду Сервис4Макрос4Преобразовать макросы формы и щелкнуть по кнопке Преобразовать. Макросы просты для изучения и позволяют быстро добиться результата. Их рекомендуется использовать, если:
l Обработка ошибок не требуется.
l Не нужно вычислять или устанавливать параметры, передаваемые некоторыми событиями.
l Приложение будет использоваться непрофессионалами, которые, однако, хотели бы понимать его работу и иметь возможность со временем расширить функции приложения.
l Разрабатывается приложение – прототип для демонстрации проекта.
Макрос вызывается в ответ на какое-нибудь событие. Событие – это, например, изменение данных, открытие или закрытие формы, отчета, передача фокуса от одного элемента управления другому, нажатие клавиши или кнопки мыши, истечение промежутка времени и т. п. Макрос может содержать несколько макрокоманд, а также условия. В Access существует порядка 40 макрокоманд, которые используются в следующих случаях:
l Открытие/закрытие таблицы, запроса, формы или отчета в любом режиме.
l Выполнение запроса – выборки или запроса – действия. Параметры запросов можно задавать с помощью элементов управления открытой формы.
l Выполнение действия, зависящего от значения величин в таблице, форме, отчете.
l Запуск других макросов или процедур.
l Установка значения любого элемента управления формы или отчета, эмуляция ввода с клавиатуры.
l Построение фильтра, переход к любой записи, поиск данных.
l Выполнение любой команды любого меню Access.
l Организация работы с окнами.
l Вывод сообщений и звуковых сигналов.
l Переименование объектов БД, их копирование, удаление, импорт/экспорт.
l Запуск других приложений Windows или DOS.
Создание макроса любой сложности начинается с выбора в окне БД корешка Макрос, затем следует щелкнуть по кнопке Создать. В окне конструирования макроса в столбце «Макрокоманда» можно задать последовательность необходимых в данном случае макрокоманд. Макрокоманда задается выбором из списка. Выбор макрокоманды сопровождается появлением в нижней части окна соответствующего ей списка аргументов (своего для каждой макрокоманды). Чтобы сохранить макрос, надо, находясь в окне его создания, выполнить команду Файл4Сохранить как и задать имя макроса. Запустить макрос на выполнение из окна его создания можно командой Запуск4Запуск. Для отладки макроса используется запуск в пошаговом режиме Запуск4По шагам.
Макрос не обязательно представляет собой линейную последовательность макрокоманд. Часть действий в макросе выполняется только случае, если выполняется какое-либо условие. В зависимости от значения логического выражения выполняется та или иная макрокоманда, либо последовательность макрокоманд. Для задания условия в окне создания/модификации макроса надо щелкнуть по инструменту Условия. Появится новый столбец для задания условий. Если при определенном условии выполняется несколько макрокоманд, то условие записывается в строке первой макрокоманды. Для строк, содержащих все последующие макрокоманды, в столбец «Условие» помещается знак многоточия - …(три точки, идущие друг за другом без пробела).
Макросы можно объединять в группы. Например, с каждой кнопкой главной формы приложения может быть связан свой макрос, осуществляющий открытие других форм, запросов, отчетов, меню, выход из приложения и другие операции. Все эти макросы можно объединить в одну группу и дать группе имя формы, к которой она относится. Это позволит легко найти нужные макросы, если потребуется внести в них изменения. Групповой макрос содержит внутри себя все входящие в него макросы. Обращение к макросу, входящему в группу имеет вид: <имя группы> . <имя макроса>. Для создания группы макросов в окне создания макроса надо щелкнуть по инструменту Имена макросов и ввести в появившемся столбце имена макросов, составляющих группу. Имя каждого макроса вводится в первую строку последовательности макрокоманд, составляющей этот макрос.
Порядок выполнения работы.
17. Создание простого макроса.
Создадим макрос, который будет выводить ваше имя, например, при запуске одной из форм, созданных вами в работе 7. Для этого:
l Щелкните, находясь в окне БД, по корешку Макрос, а затем по кнопке Создать.
l В окне макроса в столбец «Макрокоманда» выбором из списка введите макрокоманду Сообщение, а в столбец «Примечание» введите слово «Приветствие».
l В нижней части окна в качестве текста сообщения (аргумент Сообщение) введите свое имя, фамилию и номер группы, отметьте, что вывод сообщения следует сопровождать звуковым сигналом (аргументу Сигнал следует присвоить значение Да), а в окно сообщения кроме текста сообщения вывести значок «!» (значение аргумента Тип).
l Сохраните макрос(Файл4Сохранить как), присвоив ему имя Message.
l Свяжите созданный макрос с событием загрузки одной из форм. Для этого откройте форму в режиме конструирования, откройте окно свойств формы, найдите событие «Загрузка» и в строке, относящейся к этому событию, из разворачивающегося списка макросов выберите пока единственный макрос Message.
l Запустите форму в работу.
18. Создание макроса из нескольких макрокоманд.
Создадим макрос, который фильтрует данные в таблице PREP по дате заключения контракта, то есть по полю Contract. В качестве параметров, задаваемых пользователем, используем начальную и конечную даты, определяющие некоторый промежуток времени. Например, нам может потребоваться определить преподавателей, у которых только что закончился или закончится в ближайший месяц срок контракта.
Для создания такого макроса выполните следующие действия:
l Выберите вкладку Модуль и нажмите кнопку Создать .
l Используйте команду Вставка4Процедура, в открывшемся окне выберите радио-кнопку функция и введите имя функции Nach_data.
l Введите в окне модуля текст процедуры.
Public Function Nach_data() As Date
Nach_data = Date()
Nach_data = InputBox(«Введите начальную дату», «Ввод»)
End Function
l Введите в окне модуля текст процедуры Konech_data, скопировав текст первой процедуры и отредактировав его.
Public Function Konech_data() As Date
Konech_data = Date()
Konech_data = InputBox(«Введите конечную дату», «Ввод»)
End Function
l Сохраните модуль, назвав его Data_Input.
l Перейдите на вкладку Макросы и создайте новый макрос.
l Введите в макрос две макрокоманды:
l Открыть таблицу с аргументами «Имя таблицы» – PREP, «Режим» – «таблица», «Режим данных» – «только чтение».
l Применить фильтр с аргументом «Условие отбора», значением которого является выражение:
[PREP]![Contract]>= Nach_data() And [PREP]![Contract]<= Konech_data()
l Сохраните макрос под именем Фильтр1.
l Запустите макрос командой Запуск4Запуск.
Для выявления преподавателей, у которых срок контракта истек около месяца назад или истекает в ближайший месяц, в качестве конечной даты введите дату на 1 месяц больше даты пятилетней давности, а в качестве начальной – дату, которая на пять лет и 1 месяц меньше сегодняшней, поскольку контракт заключается на 5 лет.
19. Создание макроса запуска приложения.
Создадим макрос, состоящий из нескольких макрокоманд, который при открытии базы данных будет запускать форму с основным меню приложения, работающего с этой базой данных. Имя такого макроса должно быть AutoExec. Для создания такого макроса выберите в окне создания макросов последовательно три макрокоманды:
l Вывод на Экран с аргументами Включить вывод, установленным в «Нет», и Сообщение, значением которого должен быть текст, который будет выводиться в строке состояния во время выполнения макроса, например «Запуск приложения». Эта макрокоманда предотвращает мелькание экрана во время выполнения макроса.
l Песочные часы с аргументом Включить, установленным в «Да». Эта команда отображает на экране во время выполнения макроса песочные часы.
l Открыть форму с аргументом Режим в значении «Форма» и аргументом Имя формы, которому следует присвоить имя главной формы приложения, содержащей кнопки меню (вы можете указать имя любой формы с кнопками, созданной в лабораторной работе 7).
Сохраните макрос. Закройте БД Teach. Для проверки работы макроса снова откройте БД teach, убедитесь, что при этом запускается форма, имя которой вы указали в макросе AutoExec.
20. Создание макроса с условием.
Измените отчет «Контракт», созданный в лабораторной работе 8 и содержащий список преподавателей с датами заключения ими контракта, таким образом, чтобы для тех преподавателей, у которых истек срок контракта, соответствующее предупреждение не только печаталось курсивом справа от даты заключения контракта, но и фамилия такого преподавателя подчеркивалась. Для этого:
l В области данных отчета правее поля Contract добавьте надпись «срок контракта истек», установите для этого элемента управления свойство Выводить на экран в значение «Нет», а свойство Курсив в значение «Да», выберите для текста синий цвет, назовите элемент Контракт.
l Ниже поля FIO проведите горизонтальную линию, подчеркивающую фамилию, установите для этого элемента управления свойство Выводить на экран в значение «Нет», а толщину линии выберите равной 2, назовите элемент Подчеркивание.
l Сохраните отчет с изменениями под именем «Контракт2».
l Щелкните по корешку Макросы, а затем по кнопке Создать.
l В окне создания макроса щелкните по пиктограмме Условия, чтобы появился столбец для задания условий выполнения макрокоманд.
l В первую строку столбца Условие введите [Contract] <= Date() – 365 * 5, а в столбце Макрокоманда выберите Задать значение. Аргументу Элемент этой макрокоманды надо присвоить значение [Контракт].Visible, а аргументу Выражение – значение Да.
l Во вторую строку столбца Условие введите …. Три точки означают, что выше заданное условие относится и к этой строке. В столбце Макрокоманда снова выберите Задать значение. Аргументу Элемент этой макрокоманды надо присвоить значение [Подчеркивание].Visible, а аргументу Выражение – значение Да.
l В третью строку столбца Условие введите [Contract] > Date() – 365 * 5, а в столбце Макрокоманда выберите Задать значение. Аргументу Элемент этой макрокоманды надо присвоить значение [Контракт].Visible, а аргументу Выражение – значение Нет.
l В четвертую строку столбца Условие введите …. В столбце Макрокоманда снова выберите Задать значение. Аргументу Элемент этой макрокоманды надо присвоить значение [Подчеркивание].Visible, а аргументу Выражение – значение Нет
l Последней пятой макрокомандой этого макроса может быть, но не обязательно, макрокоманда Остановить макрос. Эта макрокоманда не содержит условия и выполняется в случае, если не выполняются предыдущие условия. Правда, в нашем случае такого быть не может, одно из условий обязательно выполнится, поэтому использовать эту макрокоманду необязательно.
l Сохраните макрос под именем «Контракт».
l Откройте отчет «Контракт2» в режиме конструирования и свяжите свойство Форматирование раздела Область данных с макросом «Контракт».
l Запустите отчет на выполнение и убедитесь в том, что для преподавателей, заключивших контракт 5 и более лет назад, выводятся слова «срок контракта истек», а их фамилии подчеркиваются.
21. Создание группы макросов
Создадим группу макросов, открывающих различные формы, запросы и отчеты, и свяжем ее с приведенной на рисунке 2.10 формой,:
Сначала в режиме конструктора создадим заготовку формы «Информация»:
l Поместите на форму заголовок «Информация и документы» и надписи, которые вы видите в левой части формы. Кнопки мы создадим позже, когда будет готов макрос.
l В правой части формы создайте группу переключателей или радио-кнопок. Для этого воспользуйтесь инструментом Группа. Дайте группе название «Отчеты», а свойству Имя присвойте значение «Выбор_отчета». Поскольку в группу должны входить четыре переключателя, воспользуйтесь 4 раза инструментом Переключатель и поставьте переключатели в рамку группы. Каждому переключателю дайте имена Перекл1, Перекл2 и так далее, а подписи, задаваемые по умолчанию, поменяйте на те, которые вы видите на рисунке. Значение по умолчанию для группы установите в 1, это означает автоматический выбор первого отчета. Кнопку «Просмотр» создадим после создания макроса.
Рис. 2.10 Вид формы, для которой создается группа макросов

l Уберите из формы кнопки листания.
l Обведите рамкой правую часть формы, относящуюся к выбору отчета. Проведите между левой и правой частями формы двойную вертикальную линию.
l Сохраните форму под именем «Информация».
Теперь щелкните по корешку Макросы и перейдите к созданию группы макросов, открывающих две формы, три запроса и один из выбранных отчетов. Вид макроса показан на рисунке 2.11.
Рис. 2.11 Макрос, связанный с формой, изображенной на рис. 2.10
Группа состоит из шести макросов. Первый макрос открывает для просмотра и редактирования созданную в лабораторной работе 7 форму «Преподаватель», вид которой показан на рисунке 2.1. Второй макрос открывает форму «Кто что ведет и где?», созданную в пункте 5 лабораторной работы 7. Макрос по имени З_Свободные_Преп открывает запрос, созданный в пункте 1.4.1 лабораторной работы 6. Запрос, который открывает макрос З_средняя нагрузка, был создан при выполнении четвертого задания для самостоятельной работы в лабораторной работе 6. Запрос, который открывает макрос З_Перекрестный – это перекрестный запрос, созданный в пункте 1.4.2. лабораторной работы 6. Аргумент Режим для этих запросов следует установить в значение Таблица, а аргумент Режим данных – в значение Только чтение. Макрос «Отчеты» состоит из четырех макрокоманд, каждая из которых в зависимости от того, какая кнопка переключателя нажата, выводит для просмотра тот или иной отчет. Для всех отчетов аргумент Режим установлен в значение Просмотр.
Сохраните макрос под именем «Информация» и перейдите в режим редактирования формы «Информация». Создайте пять кнопок в левой части формы, связав их соответственно с первыми пятью макросами из группы «Информация». Правее подписи «Отчеты» создайте кнопку «Просмотр», связав ее с макросом «Отчеты», входящим в группу макросов «Информация».
Запустите форму на выполнение и проверьте действие каждой кнопки.
Задание для самостоятельной работы.
22. Преобразуйте макрос Massage в программу на языке Visual Basic. Посмотрите, как будет выглядеть программа, соответствующая преобразованному макросу.
23. Создайте макрос, который по желанию пользователя увеличивает или уменьшает на заданное число процентов нагрузку преподавателей выбранной категории и выводит для просмотра список преподавателей с указанием нагрузки каждого из них и вычислением средней нагрузки по институту (Итоговый отчет о нагрузке, созданный в лабораторной работе 8 и изображенный на рисунке 2.7). Элементы, необходимые для задания параметров и вызова макроса, поместите на форму, приведенную на рисунке 2.12, предварительно создав ее с помощью Мастера форм. В макросе дважды используются макрокоманды Открыть запрос и Открыть отчет, а также макрокоманда Остановить макрос. В запросах на увеличение и уменьшение нагрузки, которые надо построить, изменив запрос Update, созданный в пункте 2.2 лабораторной работы 6, используются следующие элементы формы: поле, в которое вводится процент изменения нагрузки, и поле со списком для выбора категории преподавателей.

Рис. 2.12 Вид формы, с кнопкой «Выполнить», которая запускает макрос, создаваемый в задании 2
Лабораторная работа 10: Создание меню приложения.
Цель работы
Знакомство с различными типами меню и предоставляемыми СУБД Access средствами их создания.
Общие сведения.
Меню служит для управления ходом работы приложения. Меню приложения обычно заменяет основное меню Access и содержит команды, предназначенные для выполнения задач приложения.
Существуют меню разных типов:
l линейка меню – горизонтальная или вертикальная,
l всплывающее меню,
l комбинированное меню,
l контекстное меню.
Access позволяет создавать все эти типы меню. Причем созданные меню могут как дополнять, так и заменять стандартное меню Access.
Чтобы создать линейку меню, надо создать новую панель инструментов и перетащить на нее все нужные команды. Это могут быть стандартные команды меню Access, имена вызываемых макросов и программ, имена открываемых форм, запросов и отчетов. При этом, появляющиеся в меню надписи и картинки могут быть заменены или уничтожены. Созданная новая панель инструментов имеет заголовок окна, кнопку Закрыть и последовательность пунктов меню, определенных пользователем или добавленных из основного меню. Эти пункты линейки меню могут располагаться как горизонтально, так и вертикально.
Такая же всплывающая последовательность пунктов меню, но без имени окна, называется контекстным меню. Контекстное меню имеет имя, которое указывается в окне свойств кнопки или другого элемента формы, с которым оно связывается. Контекстное меню вызывается щелчком правой кнопкой мыши по элементу формы, с которым оно связано.
Можно создать также обычное комбинированное меню, состоящее из линейки, с каждым пунктом которой связано или непосредственно выполняемое действие, или свое всплывающее меню (подменю). С каждым пунктом подменю, в свою очередь, может быть связана команда, макрос, процедура или подменю следующего уровня.
Пользовательское меню любого вида создается при помощи команды Вид4Панели инструментов4Настройка. Щелкнув по корешку Панели инструментов, можно выбрать из списка флажков нужный тип меню: «Строка меню» или «Контекстные меню». Имя вновь создаваемого меню можно поменять, можно также ввести перед какой-нибудь буквой имени символ “&”, назначив таким образом пункту меню «горячую» клавишу, то есть, если при работе меню одновременно нажать на клавиатуре ALT и букву, перед которой стоит символ “&”, это будет равносильно выбору соответствующего пункта меню. Щелкнув по кнопке Создать, а затем по корешку Команды, получаем возможность связать с пунктом меню любую команду, выбрав ее в окне настройки. Сначала из левого списка выбирается категория команды, после чего в правом списке появляется перечень команд, соответствующих этой категории. Из правого списка выбирается то, что требуется и перетаскивается в создаваемое меню. Если с очередным пунктом создаваемого меню надо связать не действие, а вызов подменю следующего уровня, то в списке категорий надо выбрать «Новое меню» и перетянуть его из правого списка в создаваемое меню.
Меню в Access можно создавать не только на основе панели инструментов. Своеобразное меню, представляющее собой кнопочную форму, подобную форме «Иформация», которую мы создали в лабораторной работе 9, можно создать с помощью надстройки, которая называется «Диспетчер кнопочных форм». Эта надстройка в версии Access 97 находится в меню Сервис4Надстройки, а в версии Access 2000 – в меню Сервис4Служебные программы. Кнопочная форма не базируется ни на одной таблице приложения, не имеет линеек прокрутки и кнопок листания. в ней есть только список операций, выполняемых в приложении и/или перечень компонентов приложения. Слева от каждого компонента списка располагается кнопка, которая открывает соответствующую форму или отчет, запускает макрос или процедуру. Длина списка не должна превышать 8 элементов. Если в окне параметров запуска (Сервис4Параметры запуска) определить эту форму, как главную, то при открытии базы данных она будет запускаться автоматически и играть роль главного меню приложения.
Порядок выполнения работы.
1. Создание линейки меню, дополняющей основное меню Access.
Создадим линейку меню, состоящую из двух пунктов: Сообщение и Выход. Выбор первого пункта свяжем с выводом информации о создателе приложения, а выбор второго пункта – с завершением работы приложения. Для этого:
l Создайте макрос, который выводит сообщение с вашим именем и назовите его Меню1.
l Выберите команду Вид4Панели инструментов4Настройка и выделив в списке Панели инструментов отмеченную флажком строку Строка меню, щелкните по кнопке Создать. Появится новая панель инструментов.
l Поменяйте предлагаемое по умолчанию имя этой панели на имя «Меню1» и щелкните по корешку Команды.
l В левом списке выберите категорию Все макросы, а в правом созданный вами макрос Меню1.
l Перетяните выбранный макрос на создаваемую панель.
l Поменяйте свойство Подпись созданного пункта на «Сооб&щение», а свойство Стиль на «Только текст(в меню)».
l Снова щелкните по корешку Команды и выберите в левом списке категорию Файл, а в правом команду Выход, поменяйте свойство Стиль второго пункта меню на значение «Только текст(в меню)».
l Проверьте меню в работе.
2. Создание комбинированного меню дополняющего основное меню Access.
Создадим линейку меню из трех пунктов: Преподаватели, Нагрузка и Файл. Выбор первого пункта линейки свяжем с всплывающим меню, которое, в свою очередь, состоит из трех пунктов: Просмотр/Модификация, Кто что ведет и Контракты. Первый из этих трех пунктов связан с вызовом формы «Преподаватель», второй – с вызовом формы «Кто что ведет и где?», а третий – с вызовом для просмотра отчета «Контракт1». Со вторым пунктом линейки меню также следует связать всплывающее меню из двух пунктов: Уведомления и По факультетам. Первый из этих двух пунктов свяжем с запуском для просмотра отчета с наклейками для рассылки преподавателям, приведенного на рисунке 2.9, второй пункт этого меню снова свяжем с всплывающим меню, состоящим из пунктов: Все факультеты, ФАВТ, ФКЭА, ЭФФ. Пункт этого меню «Все факультеты» нужно связать с вызовом для просмотра итогового отчета по факультетам, изображенного на рисунке 2.7, а все остальные с вызовом того же отчета, но с фильтром по указанному факультету. Пункт линейки меню Файл – это стандартное встроенное меню Файл. Для того, чтобы создать комбинированное меню описанного вида, выполните следующие действия:
l Создайте группу макросов, показанную на рисунке 2.13, с именем «Итоги_по_фак», в эту группу включите макросы с именами ФАВТ, ФКЭА, ЭФФ и Все, каждый из которых открывает в режиме просмотра отчет «Итоги по факультетам», свойство Условие отбора для первого макроса установите в значение [fak]=”ФАВТ”, для вторго – в значение. [fak]=”ФКЭА”, а для третьего - [fak]=” ЭФФ”. Каждый из макросов кроме макрокоманды ОткрытьОтчет содержит еще две макрокоманды ЗадатьЗначение. Эти макрокоманды в первых трех макросах устанавливают свойство Visible элементов, находящихся в области примечания отчета, в значение «Ложь», а в последнем макросе в значение «Истина». Это делается для того, чтобы в случае, если отчет выводится только для одного факультета, а не для института в целом, не выводилась и средняя нагрузка по институту.

Рис. 2.13 Группа макросов, связанная с пунктами меню третьего уровня, которое является подменю, относящимся к пункту «По факультетам».
l Создав описанную выше группу макросов, выберите команду Вид4Панели инструментов4Настройка… или команду Сервис4Настройка…. В обоих случаях попадем в окно «Настройка». Выбрав корешок Панели инструментов, щелкните по кнопке Создать. Появится окно создания панели инструментов. Поменяйте предлагаемое по умолчанию имя этой панели на имя «Меню2» и щелкните по кнопке ОК. Появится новая панель инструментов.
l Перейдите на корешок Команды и из левого списка выберите категорию «Новое меню». Перетащите Новое меню из области Команды на панель Меню2.
l В окне «Настройка» щелкните по кнопке Изменить выделенный объект, а затем выберите строку «свойства».
l В окне свойств первого элемента Меню2 измените подпись элемента на значение «Преподаватели».
l Еще раз перетащите Новое меню из области Команды окна Настройка в Меню2 для создания второго элемента меню. Измените подпись этого элемента на значение «Нагрузка».
l Для создания последнего пункта Файл линейки формируемого меню выберите из списка категорий «Встроенные меню», а из списка команд выберите «Файл» и перетащите в Меню2.
l Щелкните в Меню2 по пункту «Преподаватели», всплывет пустое меню подменю пункта «Преподаватели».
l Для создания первого пункта Просмотр/Модификация этого подменю из левого списка выберите категорию «Все формы», а из правого выберите и перетяните в подменю, связанную с этим пунктом форму «Преподаватель».
l Поменяйте имя полученного пункта подменю на значение «Просмотр/Модификация», стиль на «только текст (в меню)».
l Для создания второго пункта этого подменю выберите и перетащите из правого списка форму «Кто что ведет и где?». Поменяйте подпись созданного элемента на значение «Кто что ведет», а стиль – на «только текст (в меню)».
l Для создания третьего пункта этого подменю выберите из левого списка категорию «Все отчеты», а из правого выберите и перетяните в подменю отчет «Контракт1», изменив подпись на «Контракты», а стиль – на «только текст (в меню)».
l Чтобы создать подменю, относящееся к пункту «Нагрузка», щелкните по нему, чтобы появилось пустое меню.
l Перетяните в новое подменю отчет с наклейками и поменяйте подпись пункта на «Уведомления», а стиль – на «только текст (в меню)».
l Поскольку следующий пункт подменю «По факультетам» должен быть, в свою очередь, связан с подменю следующего уровня, выберите из левого списка категорию «Новое меню» и перетяните Новое меню из правого списка в создаваемое подменю пункта «Нагрузка».
l Переименуйте «Новое меню» в «По факультетам», выберите в левом списке категорию «Все макросы».
l В новое пустое подменю последовательно перетяните макросы из группы Итоги_по_фак, с создания которой мы начали создание комбинированного меню.
l Измените в соответствии со смыслом подписи пунктов полученного подменю.
l Формирование комбинированного меню закончено. Закройте окно настройки и опробуйте меню, выбрав поочередно каждый из его пунктов и подпунктов.
3. Создание контекстного меню
Создайте контекстное меню «Нагрузка», состоящее из трех пунктов: «Преподавателей», «По факультетам», «Уведомления». Выбор каждого пункта свяжите с запуском для просмотра соответствующего отчета. Это меню должно вызываться щелчком правой кнопки мыши по элементу управления с именем «Нагрузка» экранной формы «Преподаватель». Таким элементом может быть, например, командная кнопка или надпись. Для создания такого меню выполните следующие действия:
l Выберите команду Вид4Панели инструментов4Настройка. В окне настройки щелкните по кнопке Создать и введите имя контекстного меню, например «Контекстное1».
l В этом же окне щелкните по кнопке Свойства и в окне Свойства панели инструментов выберите из списка типов меню «Контекстное меню».
l Закройте окно свойств и на вкладке Панели инструментов окна Настройка установите флажок «Контекстные меню».
l На появившейся панели контекстных меню выберите пункт Настраиваемый, в нем должно быть имя создаваемого контекстного меню.
l Перейдите на вкладку Команды и из списка категорий выберите «Все отчеты». Перетащите из правого списка в новое меню последовательно три отчета: отчет о нагрузке преподавателей с подсчетом средней – «Итоговый отчет о нагрузке», «Итоговый отчет по факультетам» и «Наклейки», то есть отчеты, представленные на рисунках 2.6, 2.7 и 2.9.
l Щелкните по кнопке Изменить выделенный объект или вызовите контекстное меню объекта. Измените название каждого из пунктов меню соответственно на «Преподавателей», «По факультетам» и »Уведомления». Уберите значки перед названиями пунктов.
l Закройте панель Контекстные меню и окно Настройка.
l Откройте в режиме конструктора форму «Преподаватель» и создайте, не используя построитель, кнопку или надпись.
l В окне свойств созданного элемента формы определите свойство «Подпись», как «Нагрузка», а на вкладке Другие выбором из списка присвойте свойству «Контекстное меню» значение «Контекстное1».
l Запустите форму в работу и щелкните по созданному элементу правой кнопкой мыши. Должно появиться созданное контекстное меню. Проверьте, что выбор каждого из его пунктов приводит к выводу для просмотра соответствующего отчета.
4. Создание главной кнопочной формы с помощью диспетчера кнопочных форм.
Форма должна содержать две кнопки: кнопку перехода к форме «Информация» и кнопку выхода из приложения и запускаться автоматически при запуске БД Teach. Для создания такой формы выполните следующие действия:
l Выберите команду Сервис4Надстройки4Диспетчер кнопочных форм, если вы работаете в версии Access 97, или Сервис4Служебные программы4Диспетчер кнопочных форм, если вы работаете в версии Access 2000. Поскольку ни одной кнопочной формы в БД пока нет, вы получите соответствующее сообщение. Подтвердите ваше желание создать новую кнопочную форму.
l В появившемся окне Диспетчер кнопочных форм щелкните по кнопке Изменить. Откроется окно изменения страницы кнопочной формы. Щелкните по кнопке Создать
l В окне Изменение элемента кнопочной формы определите первый элемент формы. Для этого в поле Текст введите «Начало работы», в поле Команда выберите из списка команду «Открыть форму для изменения», а в поле Форма введите имя формы, которую надо открыть – «Информация». Щелкните по кнопке ОК.
l Определите второй элемент кнопочной формы. Для этого снова щелкните по кнопке Создать, в поле Текст введите «Выход», а в поле Команда выберите из списка команду «Выйти из приложения». Щелкните по кнопке ОК.
l Закройте все окна диспетчера кнопочных форм и откройте созданную форму в режиме конструктора. Поменяйте заголовок на «БД Обучение». Можно поменять и другие свойства формы в соответствии с вашим вкусом. Поменяйте имя кнопочной формы на «Главная»
l Выполните команду Сервис4Параметры запуска и в появившемся окне из списка форм выберите форму «Главная».
l Закройте окно БД Teach, а затем вновь откройте. Убедитесь, что форма «Главная» запустилась автоматически и обе кнопки работают так, как нужно.
Задание для самостоятельной работы.
1. Объедините Меню1 и Меню2, перетащив содержимое первого меню во второе. У вас должно получиться меню приведенное на рисунке 2.14. После этого Меню1 можно удалить из списка.

Рис. 2.14 Объединенное меню
2. Добавьте к пунктам подменю, относящегося к пункту линейки «Нагрузка», еще один пункт – «По категориям». Добавляемый пункт свяжите с всплывающим меню, состоящим из следующих пунктов: «Все», «доценты», «ассистенты», «ассистенты к. н.», «профессора». Каждый пункт должен быть связан с вызовом отчета «Планируемая нагрузка», представленного на рисунке 2.8. При выборе первого пункта отчет должен выводиться целиком, а при выборе остальных четырех пунктов - только для преподавателей выбранной категории.
3. Поменяйте подпись пункта меню «Сообщение» на значение «Об авторе», назначив букву «О» в качестве «горячей» клавиши.
4. Создайте кнопочную форму, показанную на рисунке 2.15, связав с каждой кнопкой команду запуска соответствующей формы или отчета. С последней кнопкой надо связать команду выхода из приложения. Сделайте эту форму главной формой приложения вместо формы, созданной в пункте 4.
Рис. 2.15 Главная форма приложения Teach
Лабораторная работа 11: Создание приложения.
Цель работы
Создание небольшой автоматизированной системы, объединяющей таблицы, запросы, экранные формы и отчеты, и предназначенной для решения задачи из некоторой предметной области
Общие сведения
Разработке приложений посвящена вторая часть этой книги. Работа по созданию приложения состоит из двух частей:
l проектирование и реализация базы данных, то есть создание хранилища данных,
l разработка интерфейса пользователя, то есть обеспечение удобного и надежного доступа пользователя системы к хранящимся в ней данным.
Для выполнения лабораторной работы необходимо ознакомиться хотя бы с одним из методов проектирования БД, которые описаны в главе 3. Проектировать интерфейс не нужно, он определен заданием, и его требуется только реализовать.
Порядок выполнения работы
l По согласованию с преподавателем выберите одно из индивидуальных заданий, представленных в Приложении1.
l Выберите один из методов проектирования БД, описанных в главе 3, и с его помощью получите набор таблиц, необходимый для решения задачи.
l В СУБД Access определите структуру каждой таблицы, заполните таблицы данными (2 – 3 строки) и определите постоянные связи между ними.
l Реализуйте перечисленные в задании запросы.
l Создайте отчеты.
l Последовательно реализуйте все необходимые для решения задачи экранные формы. Начать следует с форм, которые не вызывают другие формы, а закончить главной(кнопочной) формой, которая объединит в себе все разработанные ранее элементы приложения.
l Если экранная форма содержит элемент вызова запроса с параметром, то значение параметра должно задаваться не в стандартном окне ввода значения параметра, а в этой же форме. Значение параметра обычно вводится в поле формы или выбирается из списка. Привязка задания значения параметра к экранной форме потребует от вас корректировки запросов с параметрами. Замените в параметрических запросах стандартное задание значения параметра ссылками на элементы экранных форм типа Forms!<имя формы>!<имя элемента формы>.
l Выполните тестирование полученного приложения. Если имеющихся в таблицах данных недостаточно для оценки правильности выполнения той или иной операции, добавьте необходимые данные.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |




