У меня есть этот код, который я пытаюсь использовать, однако, когда запрос вызывает его, он возвращает пустой столбец данных. поэтому я пытаюсь добавить числовое значение в каждый столбец и каждый месяц добавляю новый столбец с математической формулой.
Option Explicit
Public Function FCalcMnthALLTDISTRIB()
Dim OCT As String
Dim NOV As String
Dim DEC As String
Dim JAN As String
Dim FEB As String
Dim MAR As String
Dim APR As String
Dim MAY As String
Dim JUN As String
Dim JUL As String
Dim AUG As String
Dim SEP As String
OCT = Nz([OCT], 0)
NOV = Nz([OCT], 0) + Nz([NOV], 0)
DEC = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0)
JAN = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0)
FEB = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0)
MAR = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0)
APR = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0) + Nz([APR], 0)
MAY = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0) + Nz([APR], 0) + Nz([MAY], 0)
JUN = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0) + Nz([APR], 0) + Nz([MAY], 0) + Nz([JUN], 0)
JUL = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0) + Nz([APR], 0) + Nz([MAY], 0) + Nz([JUN], 0) + Nz([JUL], 0)
AUG = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0) + Nz([APR], 0) + Nz([MAY], 0) + Nz([JUN], 0) + Nz([JUL], 0) + Nz([AUG], 0)
SEP = Nz([OCT], 0) + Nz([NOV], 0) + Nz([DEC], 0) + Nz([JAN], 0) + Nz([FEB], 0) + Nz([MAR], 0) + Nz([APR], 0) + Nz([MAY], 0) + Nz([JUN], 0) + Nz([JUL], 0) + Nz([AUG], 0) + Nz([SEP], 0)
If MonthName(Month(Date), False) = "October" Then
FCalcMnthALLTDISTRIB = OCT
ElseIf MonthName(Month(Date), False) = "November" Then
FCalcMnthALLTDISTRIB = NOV
ElseIf MonthName(Month(Date), False) = "December" Then
FCalcMnthALLTDISTRIB = DEC
ElseIf MonthName(Month(Date), False) = "January" Then
FCalcMnthALLTDISTRIB = JAN
ElseIf MonthName(Month(Date), False) = "February" Then
FCalcMnthALLTDISTRIB = FEB
ElseIf MonthName(Month(Date), False) = "March" Then
FCalcMnthALLTDISTRIB = MAR
ElseIf MonthName(Month(Date), False) = "April" Then
FCalcMnthALLTDISTRIB = APR
ElseIf MonthName(Month(Date), False) = "May" Then
FCalcMnthALLTDISTRIB = MAY
ElseIf MonthName(Month(Date), False) = "June" Then
FCalcMnthALLTDISTRIB = JUN
ElseIf MonthName(Month(Date), False) = "July" Then
FCalcMnthALLTDISTRIB = JUL
ElseIf MonthName(Month(Date), False) = "August" Then
FCalcMnthALLTDISTRIB = AUG
ElseIf MonthName(Month(Date), False) = "September" Then
FCalcMnthALLTDISTRIB = SEP
End If
End Function
Я вызываю эту функцию из выражения в запросе, создавая собственное поле в запросе. Поэтому в представлении запроса в пустом поле я вставил OB_PLAN: FCalcMnthALLTDISTRIB () . затем в группе я выбрал SUM . не уверен, где я иду не так.