У меня есть 2 функции, которые я использую в своей базе данных. Мне было интересно, могу ли я «объединить» эти два, чтобы «сократить» мой код.
Option Compare Database
Option Explicit
Dim strTaxR As String
Dim strYTDG As String
Public Function fncTRate(ByVal PEnd As Date) As Double
strTaxR = "SELECT TOP 1 [Tax Rate] As TRate FROM tblTax WHERE [Effective Date] <= #" & PEnd & "#" ORDER BY [Effective Date] DESC;"
With CurrentDb.OpenRecordset(strTaxR)
If Not (.BOF And .EOF) Then
fncTRate = .Fields("TRate")
End If
End With
End Function
Public Function fncYTDG(EmpN As Integer, PEnd As Date) As Double
strYTDG = "SELECT Sum([SGROSS]) As YTDG FROM qryYTD2 WHERE [PE] Between #" & DateSerial(Year(PEnd ), 1, "1") & "# And #" & PEnd & "# And [EID]=" & EmpN
With CurrentDb.OpenRecordset(strYTDG)
If Not (.BOF And .EOF) Then
fncYTDG = .Fields("YTDG")
End If
End With
End Function
Будет ли иметь значение сжатие или я должен оставить его как есть?