Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кейс_ТРиЗБД_ПР мое.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.64 Mб
Скачать

Вариант№2

Откройте базу данных «бюро.mdb» в папке своей группы или импортируйте по пути G:\TXT\Access\бюро.mdb.

  1. Создайте отчет 1, отображающий сведения о предприятиях, предоставляющих вакансии.

    1. Создайте отчет в режиме Конструктор.

    2. Постройте список полей по таблицам Предприятия, Профессии и Вакансии, выбрав поля название, тип, адрес и профессия.

    3. Добавьте заголовок отчета- предприятия по профессиям.

    4. Задайте группировку по полям профессия (добавьте заголовок и примечание) и тип (добавьте заголовок). Группы не разрывать.

    5. В заголовки групп добавьте соответствующие поля.

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

    7. В примечание группы профессия добавьте вычисляемое поле следующего содержания: =по профессии "название профессии" количество предприятий.

    8. Добавьте нумерацию страниц в нижний колонтитул - страница №.

    9. В верхний колонтитул добавьте текущую дату.

    10. Выполните подсчет количества вех профессий в примечании отчета.

    11. Отформатируйте отчет по образцу:

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

    1. Постройте список полей по таблицам Вакансии, Профессии и Предприятия, выбрав поля профессия, оклад, название, адрес, кол вак.

    2. Добавьте заголовок отчета- Вакансии по предприятиям, текущую дату..

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

    4. В заголовок группы Профессия добавьте соответствующее поле - Профессия.

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

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

    7. Добавьте нумерацию страниц в нижний колонтитул - страница №.

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

    1. Постройте список полей по таблицам Профессии и Архив профессий, выбрав поля профессия, оклад и тип.

    2. Задайте группировку по полю профессия, добавив заголовок группы. Добавьте в заголовок поле профессия.

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

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

    5. Разбейте отчет на две колонки. Добавьте нумерацию страниц: страница № из кол-во страниц.

Тема: «vba,программирование в отчетах» Практическая работа №24. Тема: «vba, программирование в отчетах»

Для работы создайте отчёт по таблице «Заказано» с помощью Автоотчет: ленточный.

Нумерация записей.

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

Для нумерации записей каждой страницы используйте счетчик.

Создайте в области данных текстовое поле с именем полеЗапись (для этого вызовите свойства поля и на вкладке Другие выберите свойство Имя). Для того чтобы значение в этом поле с каждой записью увеличивалось на 1, назначьте событию области данных Печать, следующую процедуру (для этого вызовите свойства области данных, перейдите на вкладку События в строке Печать выберите ….и Программа или Процедура обработки событий и ….):

Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)

If PrintCount = 1 Then ПолеЗапись = ПолеЗапись + 1

End Sub

На каждой странице значения в поле Счетчик должны начинаться со значения 1. Для этого назначьте событию Печать области верхнего колонтитула следующую процедуру:

Private Sub ВерхнийКолонтитул_Print(Cancel As Integer, PrintCount As Integer)

ПолеЗапись = 0

End Sub

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

Печать суммы на каждой странице отчета.

В многостраничных счетах на каждой странице следует печатать промежуточную сумму.

Для вычисления промежуточной суммы воспользуйтесь событием Печать

Поместите свободное поле с именем поле Сумма в область нижнего колонтитула отчета. Здесь будет отображаться промежуточная сумма. Остальное выполняет две процедуры событий.

Первая процедура связана с событием печать верхнего колонтитула (эту процедуру добавьте в предыдущую, для перехода в программу выберите Вид, Программа):

Private Sub ВерхнийКолонтитул_Print(Cancel As Integer, PrintCount As Integer)

Me!ПолеСумма = 0

End Sub

Вторая процедура связана с событием Печать области данных:

Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)

If PrintCount = 1 Then

Me!ПолеСумма = Me!ПолеСумма + Me![цена]

End Sub

Для каждой записи промежуточная сумма будет увеличиваться на величину поля Цена. Однако перед этим значение свойства PrintCount проверяется на равенство 1. Это является обязательным, поскольку Access неоднократно обращается к событию Print при печати счета, занимающего несколько страниц. Свойство PrintCount указывает, сколько раз происходило обращение к этому событию для текущей области. Для того чтобы значение поля не прибавлялось несколько раз, вычисление выполняется только при первом событии.

Выделение важных данных начертанием.

Важнейшие данные отчета должны быть выделены полужирным стилем.

Создайте для события Форматирование области данных процедуру, в которой свойство FontBold некоторого управляющего элемента имеет значение True.

Свойство FontBold задает использование полужирного шрифта в следующих ситуациях:

  • · при просмотре или выводе на печать элементов управления в форме или в отчете;

  • · при выводе отчета на печать с помощью метода Print.

Свойство FontBold может иметь следующие значения.

Значение

Описание

True (–1)

Текст выводится полужирным шрифтом.

False (0)

(Значение по умолчанию) Текст выводится без атрибута полужирного шрифта.

Эта процедура может выглядеть следующим образом:

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)

If Me![цена] < 30000 Then

Me![цена].FontBold = True

Else

Me![цена].FontBold = False

End If

End Sub

В этом случае значения, меньше 30000 выделяются жирным шрифтом