Solved

How do I select last date of previous month?

Posted on 2014-07-31
7
320 Views
Last Modified: 2014-08-01
How do I alter the below to select last day of previous month rather than current date?

0-365: Sum(((IIf([ORDER_DATE]>=Date()-365,[AMOUNT_BILLED],0))))
0
Comment
Question by:garyrobbins
7 Comments
 
LVL 75
ID: 40232823
The last day of the previous month:
DateSerial(Year(Date()), Month(Date()),0)

mx
0
 
LVL 75
ID: 40232828
And this should come in handy:

Functions for calculating and for displaying Date/Time values in Access:

http://support.microsoft.com/kb/210604

mx
0
 
LVL 22

Expert Comment

by:Kelvin Sparks
ID: 40232834
First day of current month can be found with DateSerial(Year(Date()), Month(Date()), 1)

Last day of previous month is DATEAD that -1

Kelvin
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 195 total points
ID: 40232867
So I guess:

0-365: Sum(((IIf([ORDER_DATE]>= DateSerial(Year(Date()), Month(Date()),0) ,[AMOUNT_BILLED],0))))
0
 
LVL 30

Assisted Solution

by:hnasr
hnasr earned 195 total points
ID: 40233083
Previous comments look fine.
Just to clarify the concept and avoid remebering functions.

Required date: DateSerial (year, month, day)

In general,
1.  if day is set to 0 then it borrows 1 month. The month value is reduced by 1. The days added are those corresponding to the number of days in new month. If the month value becomes 0 then it is treated as in in next step.
2. If month is 0, then a year (12 months) is add to month value. The year value is reduced by 1.
Examples: Remember, calculating age
   DateSerial(2014,1,0)     ===>   2013, 12, 31
                                           0 days + 31 because the month will be 12, month 0  borrows 12 month from year part.
                                           0+12 months borrowing 1 year, the year becomes 2013
   DateSerial(2014,0,0)     ===>   2013, 11, 30

Now this should be obvious:
   DateSerial (currentYear, CurrentMonth, 0) ===> last of previous month - If currentMonth is 11 then result is last month of 10.
  DateSerial (currentYear, CurrentMonth, 1) ===> first of current month unless currentMonth =0, where it will be 1irst of December of last previous year.
0
 

Author Closing Comment

by:garyrobbins
ID: 40234098
Thank you both, first for putting in the thread like that, Joe and the explanation HNASR.  Working Great.
0
 
LVL 30

Expert Comment

by:hnasr
ID: 40234527
Welcome!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Help to break down spreadsheet 3 38
Hide shared folder for some users 2 27
Pull Phone Number out of Cell 3 11
Sort order not as I expected 13 20
Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
This Micro Tutorial will demonstrate on a Mac how to change the sort order for chart legend values and decrpyt the intimidating chart menu.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question