Hello again
I’m trying to work out how to count the total number of whole months between any two dates. Is there an easy way of doing this, or will it need some serious SQL / VBA?
Thanks
ian
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
Home » Forums » AskWoody support » Productivity software by function » MS Access and database help » How to find whole months only (Access 2k Win 2k)
The DateDiff() function can be set to calculate the difference in months between two dates, but I’m not sure what you mean by whole months between two dates. For example if date 1 is March 1 and date 2 is June 30 is the answer 4? And if date 1 is March 2 and date two is June 29 is the answer 2? I haven’t tested DateDiff, but I think it may give the same answer in both cases.
The DateDiff() function can be set to calculate the difference in months between two dates, but I’m not sure what you mean by whole months between two dates. For example if date 1 is March 1 and date 2 is June 30 is the answer 4? And if date 1 is March 2 and date two is June 29 is the answer 2? I haven’t tested DateDiff, but I think it may give the same answer in both cases.
If you have two dates Date1 and Date2, the number of whole months between them is
DateDiff(“m”, Date1, Date2) + (Day(Date1) > Day(Date2))
DateDiff just takes the months of Date1 and Date2 into account, it doesn’t look at the day in the month of either date. (Day(Date1) > Day(Date2)) is either True (-1) if the first date is on a later day in the month than the second date, or False (0). We use this to subtract 1 from the number of months if the first date is on a later day in the month than the second date.
If you need this often, you could create a custom VBA function for this.
If you have two dates Date1 and Date2, the number of whole months between them is
DateDiff(“m”, Date1, Date2) + (Day(Date1) > Day(Date2))
DateDiff just takes the months of Date1 and Date2 into account, it doesn’t look at the day in the month of either date. (Day(Date1) > Day(Date2)) is either True (-1) if the first date is on a later day in the month than the second date, or False (0). We use this to subtract 1 from the number of months if the first date is on a later day in the month than the second date.
If you need this often, you could create a custom VBA function for this.
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.
Notifications