Вхідні параметри звіту, MS Office, Програмні керівництва, статті







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  
 
 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*