A. Создание отчета
После создания формы, попробуем создать «Отчет о расчетах», путем импорта его из базы данных «Старый калькулятор». Этот способ также часто применяется при работе с базами данных. В качестве переменной с именем отчета введем параметр strReport.
B. Изменение отчета
Одним из самых сложных этапов разработки отчетов является его построение, вспомните «Платежное поручение» (наверняка, Вы его уже разрабатывали с помощью мастера Access).
В Access есть и другой способ разработки отчетов, возможно, он Вам и когда-нибудь пригодится. Ниже дается пример функции, которая меняет плотность поля «Пункт», т.е цифра 1 становится толще (смотрите рисунок)
C. Открытие отчета
Обработка событий. Напишем событие, которое при открытии отчета будет показывать панель печати и увеличивать отчет до максимального значения.
D. Нет данных
Обработка событий. Напишем событие, которое при открытии отчета, в котором нет данных, выдавало бы на экран специальное сообщение (смотрите рисунок).
Е. Закрытие отчета
Обработка событий. Напишем событие, которое при закрытии отчета выключало бы все панели инструментов.
Private Sub Report_Close()
SubBarOff 'Выключим все меню и строку состояния
End Sub
08.06.2000 Виктор Конюков, mailto:LiderAccess@bigfoot.com
F. Проверка знаний
Теперь Вы научились создавать таблицы, запросы, отчеты в Access и можете теперь разрабатывать практически готовые программы. Для просмотра объектов базы данных, созданных ранее, нажмите кнопку [Проверка N7].
В следующих разделах лекций Вы научитесь создавать макросы, панели меню и вызывать справку. Большинство программистов этого не делает, но если Вы решили создать профессиональную программу, то продолжайте изучать лекции дальше.
И так для продолжения учебы, нажмите кнопку Вперед>
08.06.2000 Виктор Конюков, mailto:LiderAccess@bigfoot.com
Private Sub Report_NoData(Cancel As Integer)
MsgBox "Нет данных для печати!", vbExclamation, "Мой калькулятор"
Cancel = True ‘Отменяем открытие отчета
Private Sub Report_Open(Cancel As Integer)
SubBarReport ‘Показывает панель отчета
DoCmd.Maximize ‘Развертывает отчет
Public Function funCreateReport(strReport As String) As Boolean
On Error GoTo 999 'Переход по ошибке
funCreateReport = False 'Возвращаем значение при ошибке
appAccess.DoCmd.TransferDatabase acImport, "Microsoft Access", appFolder & "\Старый калькулятор.mdb", acReport, strReport, strReport, False
funDetalReport strReport 'Изменяем отчет
funCreateReport = True 'Возвращаем значение
Exit Function
999:
MsgBox Err.Description 'Сообщение об ошибке
Err.Clear 'Очищаем поток от ошибок
Public Function funDetalReport(strReport As String) As Boolean
Dim rpt As Report
On Error GoTo 999 'Переходим по ошибке
funDetalReport = False 'Возвращаем значение при ошибке
appAccess.DoCmd.OpenReport strReport, acViewDesign 'Открываем отчет
Set rpt = appAccess.Reports("Отчет об итогах") 'Выбираем отчет
rpt.Пункт.FontWeight = 700 'Изменяем плотность шрифта
appAccess.DoCmd.Close acReport, strReport 'Закрываем отчет
funDetalReport = True 'Возвращаем значение
Exit Function 'Выходим из программы
999:
MsgBox Err.Description 'Сообщаем об ошибке
Err.Clear 'Очищаем поток от ошибок