ms доступ к передаче значений текстового поля формы в отчеты с использованием глобальных переменных - PullRequest
0 голосов
/ 21 марта 2019

У меня есть форма с именем frm_Reports, из которой я открываю отчеты разных типов с разными полями со списком. В конце отчета у меня есть текстовое поле, в котором я суммирую записи в отчете и показываю следующее утверждение:

325 пациентов поступили из выше сгруппированных отделений для лабораторных исследований с пятницы, 1 марта 2019 года по четверг, 21 марта 2019 года

У меня есть следующее выражение для отображения этого утверждения

=Sum([CountOfPatientID]) & "  patients entered from above grouped departments for lab tests from  " & Format([GetSDV],"dddd"",  ""dd mmmm yyyy") & "  to  " & Format([GetEDV],"dddd  dd mmmm yyyy")

GetSDV и GetEDV являются открытыми функциями.

Я пытаюсь вывести даты в выписке из текстовых полей в форме, из которой я открывал отчеты.

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

Вот код, который я пытаюсь сделать с помощью

Option Compare Database

Global SDV As Date
Global EDV As Date

Public Function GetSDV()
    GetSDV = SDV
End Function

Public Function GetEDV()
    GetEDV = EDV
End Function

Private Sub Form_Open(Cancel As Integer)
    GetSDV
    GetEDV
End Sub

Public Sub btn_PatientCount_Click()
    CheckForSDNulls
    CheckForEDNulls
    SDV = Me.txt_StartDate
    EDV = Me.txt_EndDate
    If IsNull(Me.cbo_PatientCount) Then
    MsgBox "Please select a report from the dropdown menu.", vbInformation, "No Report Selected"
    Exit Sub
    Else: DoCmd.OpenReport cbo_PatientCount.Column(1), acViewPreview, "", , acWindowNormal
    End If
End Sub

Я даже пробовал множество твиков в коде, но ничего до сих пор не получилось.

1 Ответ

0 голосов
/ 21 марта 2019

Код должен читать функции:

=Sum([CountOfPatientID]) & " patients entered from above grouped departments for lab tests from  " & Format(GetSDV(),"dddd"",  ""dd mmmm yyyy") & "  to  " & Format(GetEDV(),"dddd  dd mmmm yyyy")

И это можно оптимизировать:

Public Function GetSDV() As Date
    GetSDV = SDV
End Function

Public Function GetEDV() As Date
    GetEDV = EDV
End Function

Ничего не делает.

Private Sub Form_Open(Cancel As Integer)
    GetSDV
    GetEDV
End Sub

иприменять формат даты к свойству Формат текстовых полей - или преобразовать в дату:

SDV = CDate(Me!txt_StartDate.Value)
EDV = CDate(Me!txt_EndDate.Value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...