Разработка баз данныхРазработка баз данных

 Программирование  Программы  Ссылки  Обратная связь
     
. . .
. . .
startpage.htm Новости
about.htm О сайте
fileformat.htm I. Выбор технологии
clientserver.htm Преимущества клиент-серверной технологи
prepare.htm Переход от MDB к ADP
upsizing.htm Инструменты переноса данных
setupserver.htm Выбор версии и установка сервера
selectclient.htm Выбор версии MSAccess
formsreports.htm II. Формы, Отчеты MSAccess
queries.htm Запросы / ADO
inputparameters.htm Передача входных параметров
data_drivers.htm Библиотеки доступа к данным
forms.htm Формы MSAccess
requery.htm Обновление данных в форме
updatableform.htm Обновляемость данных в форме
dialogform.htm Остановка кода пока открыта форма
formsaverecord.htm Сохранить текущую запись
formgotorecord.htm Переход по записям формы
sumform.htm Итоги в формах
serverfiltersample.htm Пример серверного фильтра
formerror.htm Причина Ошибки #Error
menubarevent.htm Перехват нажатия на кнопку меню
woconditionalformat.htm Раскраска строк ленточной формы без условного форматирования
currrec.htm Выделение цветом текущей записи
subform.htm Подчиненные Формы
textboxenter.htm Ввод перевода строки
twimagelistbug.htm treview + imagelist + подч. форма
reports.htm Отчеты, общие рекомендации
report_input_parameters.htm Входные параметры
vbaprog.htm III. Программирование VBA
dbpic.htm Картинки в базе данных
binbmp.htm Двоичные данные картинки в поле таблицы базы данных
piclink.htm Хранение ссылок на файлы
picjpg.htm Бинарное содержимое JPG, Gif файла в бинарном поле базы данных
playsound.htm Воспроизведение звуков
tv.htm Функции для тривью
restartaccess.htm Перезапуск Аксесса
publicvariables.htm Передача и хранение параметров и настроек
collectionfunctions.htm Коллекция полезных функций
datepicker.htm Всплывающий календарик
menuhummer.htm Меню и тулбары
padeg.htm Склонение по падежам
comborowsource.htm Источник данных для поля со списком
filedialog.htm Диалог выбора файла / папки
sendmapi.htm Отправка почты (4 способа) + архивация
autoupdateclient.htm Автоматическое обновление клиентской части
licenses.htm  Устранение проблем с регистрацией компонентов
uncommented.htm Без коментариев
filetime.htm Время и дата файла
reportsample.htm Пример настраивомого отчета
adpformfilter.htm Серверный Фильтр by GEO
tempmdb.htm ADP: Временный MDB для временных таблиц
mutex.htm Запрет запуска нескольких копий приложения
translit.htm Транслитерация всего проекта.
updateident.htm Изменение счетчика
webinterface.htm IV WEB
accessinternet.htm Работа с аксесс через интернет
webupdate.htm Обновление приложения аксесс через интернет
msiecom.htm Программное управление веббраузером
sqlserver.htm MS SQL
mssqltransfer2.htm Перенос/копирование баз
mssqlperm.htm Adp проверка прав пользователя перед открытием формы или управление доступностью полей формы
mssqlcrossdatabase.htm  Межбазовые разрешения
tsqlcollection.htm T-sql коллекция
similarity.htm Сортировка по созвучности
esp.htm расширенные хранимые процедуры
mssqloptimizing.htm Оптимизация быстродействия
    

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

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  
 

 
. . .
. . .
© 2000 - 2009 Алексей Козин эта вебстраница является зеркалом сайта www.msdatabase.ru Рейтинг@Mail.ru
Hosted by uCoz