(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Входные параметры отчета

Источник: msdatabase

Input Parameters  


 
Применительно Аксесс 2000 и выше, ADP  
 
Для того чтобы использовать в качестве источника данных отчета хранимую процедуру MSSQL Server с параметрами входные параметры хранимой процедуры должны быть указаны в соответствующем свойстве отчета.  
 
В отличие от форм, в отчетах смена Входных параметров по событию открытие не приводит   к изменению в содержимом отчета. Поэтому приходится прибегать к некоторым трюкам чтобы получить возможность динамически определять получаемые данные.  
 
Самый простой способ получить желаемый результат состоит в том что часть строкового значения свойства отчета "Input Parameters" может быть вычислена из функций VBA.  
 
Задача:  
Передать из отчета "finctrl_platlist" два параметра "@prj" и "@Dohod"  
 
Решение:  
Создаем в отчете две ПУБЛИЧНЫЕ ФУНКЦИИ:  
Public Function GetReportdohod()  
GetReportdohod = Dohod 'Присвоим функции значение внутренней переменной отчета  
End Function  
 
Public Function GetReportprj()  
GetReportprj = prj  
End Function  
 
При этом свойство "Input Parameters" отчета "finctrl_platlist" должно иметь следующий вид:  
@prj nvarchar(50)= reports!finctrl_platlist.GetReportprj , @dohod bit = reports!finctrl_platlist.GetReportdohod  
 
Формат:  
@ИмяПеременнойХП ТипДанныхTSQL = reports!ИмяОтчета.НазваниеПубФункцииОтчета , следующий параметр в таком же формате  
 
Обратите внимание что при использовании функций отчета во входных параметрах функция при вызове не завершается скобками. Существует принципиальное отличие при использовании функций ОБЩИХ МОДУЛЕЙ ПРОЕКТА. В том случае если функция расположена не в модуле отчета, а в ОБЩЕМ МОДУЛЕ строка входные параметры имеет такой вид:  
@prj nvarchar(50)= GetReportprj() , @dohod bit = GetReportdohod()  
т.е. должны присутствовать скобки, а имя модуля в котором эти функции расположены указывать не обязательно.  
 
Полный листинг модуля отчета:  
 
Option Compare Database  
Option Explicit  
Private Dohod As Integer  
Private prj As String  
 
Private Sub Report_Open(Cancel As Integer)  
'Прием аргументов открытия отчета и разбор строки на параметры  
'OpenArgs в отчетах начиная с Access XP !!!!  
 
If Nz(Me.OpenArgs, "") = "" Then Exit Sub  
Dim Ta  
Ta = Split(Me.OpenArgs, "<nextfield>", , vbTextCompare)  
prj = Ta(0)  
Dohod = Ta(1)  
If Dohod = 0 Then  
Me.Caption = "Фактические расходы по проекту"  
Else  
Me.Caption = "Фактические доходы по проекту"  
End If  
 
'Этого было бы достаточно в случае с формой  
'Me.InputParameters = "@prj = '" & prj & "', @dohod = " & Dohod  
End Sub  
 
Public Function GetReportdohod()  
GetReportdohod = Dohod  
End Function  
 
Public Function GetReportprj()  
GetReportprj = prj  
End Function  
 
 

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 12.12.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Windows Professional 10, Электронный ключ
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft 365 Apps for business (corporate)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft 365 Business Basic (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование на Visual С++
Компьютерная библиотека: книги, статьи, полезные ссылки
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100