[02/03] Determine If Invoce Posted > Quarters ago
I need to determine if an invoice date was posted more than 2 quarters ago.
If so, then the account is Inactive
This is how I did it:
Code:
Private Function sSetInactive(ByVal InvoiceDate As Date) As Boolean
' return TRUE is older than 2 Quarters, else FALSE
Dim QuarterStart As Date
' get start date of current quarter
QuarterStart = DateAdd(DateInterval.Quarter, DateDiff(DateInterval.Quarter, Date.MinValue, Today()), Date.MinValue)
' get start date 1 quarter ago
QuarterStart = DateAdd(DateInterval.Quarter, DateDiff(DateInterval.Quarter, Date.MinValue, DateAdd(DateInterval.Day, -1, QuarterStart)), Date.MinValue)
' get start date 2 quarters ago
QuarterStart = DateAdd(DateInterval.Quarter, DateDiff(DateInterval.Quarter, Date.MinValue, DateAdd(DateInterval.Day, -1, QuarterStart)), Date.MinValue)
If InvoiceDate < QuarterStart Then
Return True
Else
Return False
End If
End Function
It seems like a kind of convoluted approach, but it seems to work. Anyone have a more elligant way of doing it?
Re: [02/03] Determine If Invoce Posted > Quarters ago
Once you've got the start date of the current quarter you can simply AddMonths(-6) to get the start date two quarters ago. Also, a much more succinct way to do this:
vb.net Code:
If InvoiceDate < QuarterStart Then
Return True
Else
Return False
End If
is this:
vb.net Code:
Return InvoiceDate < QuarterStart