I have two fields in a table, both containing dates. I would like to write a query that returns the difference between the dates in an year, month, day format (i.e. 26y 2m 3d). If that isnt possible, can the difference be returned as years,days (i.e. 26y 63d).
I have a problem in calculating the difference between two dates and displaying the output into Years Months Weeks Days. My problem is that dividing the number of days by 30 and requesting an integer is not accurate enough. I have looked at Pat and Jons examples shown in these threads
which either method would suit me as the accurate answer is what I am after.
My problem is that not all of my records would have a start and end date. Therefore both examples would result in an error.
Can anyone please give a hint on how to perform the calculations on those fields which have dates recording the results but ignoring those fileds which do not have a start / end date.
I am having a bad day and I'm sure the answer is so easy that I am going to kick myself but having played around with the modules by limited knowledge is not enough.
I have a form that I'd like to place a date onto, after entering a from date and a to date. What I'd like to see on the form, after entering my two specified dates, is:
"You have xx years, yy months and zz day left on your timeline." where xx is the number of years, yy the number of months andzz the number of days.
If I entered dates of say, 01/01/01 for my from date and 12/31/06 as my to date, how can I accomplish something like what I want?
Thank you so much in advance! I'm looking forward to your suggestions!!!!
I'm trying to breakdown a date into years, months, and days. Simple right?
The code I've been using for months returns a negative month if it happens to be the next month. Instead of returning 1 Year, 1 Month, 23 Days, it will instead return 1 Year, -1 Month, 23 Days.
Find the difference between two dates is simple if you're simply looking for the number of days between them. However, if you're looking to express the difference in a bit more user-friendly way, you can use the following code to calculate the difference in years, months, and days. The code accounts for zero values, plurals and the Oxford comma. Further, it automatically sets the later of the two dates to the End date, so the dates can be used interchangeably.
Examples: June 4, 2010, July 3, 2012 returns "2 Years and 29 Days" June 4, 2010, July 5, 2011 returns "1 Year, 1 Month and 1 Day" June 4, 2010, June 5, 2010 returns "1 Day"
Code: Function DiffOfTwoDates(dtmDate1 As Date, dtmDate2 As Date) As String ' Written by Will Knapp, Freelance Access Developer, 2013 Dim dtmStart As Date, dtmEnd As Date Dim strDiff As String ' Resulting String Dim yDiff As Integer ' Year Difference Dim mDiff As Integer ' Month Difference Dim dDiff As Integer ' Day Difference Dim CommaLoc As Integer
I have a Date of Birth field in format DD/MM/YYYY and wish to set up 2 new fields one that calculates Age in Years and another that calculates Age in Months.
I'm a bit confused with date codes. What I'm try to complish here is that how to add years and months from separate fields to text box, where's difference between two dates as an years and months? So basicly first I read year and month values from text boxes to a integer and then I'm going to add them to somewhere at last, but I'll get like 1 year and 14 months for result so, could you hit me with some tips or tricks what I should try out. I'll approciate your time to help me out with this and thanks for advance. =P
I need a formula or a function that will return a person's age in years and months. All the functions and formulas that I have seen to date and that I have used only calculate a person's age in years. Can anyone help?
i am calculating an age from (Birthdate - date())/365.25 and this works fine except it gives me a value which has a decimal place (ie 6.7 years old). How can i convert it to 6 years and so many months?
I am wanting to get an expression that will return the difference in years and months between 2 dates. Specifically, I want to know peoples ages in years and months based on a person's D.O.B and todays date. I have managed to do it in years:
I currently have a form where users can enter an "End Date", click a button, and it queries the data from 12 months prior to "End Date" entered.
Is there a way to force the query to show all 12 months, even if there are no records for a particular month? For example: if the user enters February 2013 in the date field, I would like the query to return:
March 2012 April 2012 May 2012 June 2012 July 2012 August 2012 September 2012 October 2012 November 2012 December 2012 January 2013 February 2013
...so even if June 2012 has no records, it is included in the query with a value of zero.
This is what I have so far:
WHERE (((Qry_Tbl_Assets.Dte) Between DateAdd("m",-12,[Forms]![Main_screen]![End_Date]) And [Forms]![Main_screen]![End_Date]))
I am building a database with Access 2013. The information contains data built from a workplace violence report form. I have to build a query to pick the data but must fall between two different years.The data range must be from 09/01 previous year (ex. 2012) and 08/31 current year (ex. 2013).
As the database collects more information, the year range will change but the other information will stay the same (ex 09/01/2013 to 08/31/2014).I do not want to change the query annually, just let it change the year automatically.
How can I calculate the difference between two dates but I only want to count the work days? So if was today and I wanted to go until 6/15/2015 the difference would be 5 and not 7 because I do not want to count Saturday or Sunday. Is there a special %datediff function where I would only count work days?
I am using Access 2013.I am trying to create a query that will count the days difference between two dates. The dates are in the same field. I want to group by Region.So:
tblRegion = RegionID tblStatus = StatusDate
I know how to use the DateDiff when it is two different fields, but I can't figure out how to do it from the same field.
I have a query and I need the records to display 3 working days before the 15 working day deadline.
I used the following in the criteria box below the received date field and it doesn't pull the correct number of workdays, it's pulling calendar days instead.
I have a query and I need the records to display 3 working days before the 15 working day deadline.
I used the following in the criteria box below the received date field and it doesn't pull the correct number of workdays, it's pulling calendar days instead.
I want to find out the last 6 months date from todays date. So as todays date is 27th january 2015 so the code should give me the date which is 6 months back from todays date so it will be something like 27th July 2014.
I have a table that lists computers I want to know the age of them for replacement purposes. I am using this function to populate a textbox on a form that updates my table. the results I am getting is a negative whole number I would like to get a positive number with one decimal place. so if computer was shipped September 24, 2010 my textbox would say 3.5 not -3
Here is my function
Code: Private Sub Form_Load() Dim theDate As Date Dim age As Integer theDate = Nz(Me.compDate.value, 0) If theDate > 0 Then age = DateDiff("yyyy", Now(), theDate) Me.compAge = age End If End Sub
I have a table with these 2 fields: Name and AnniversaryDate. What is the best way to write a query that will show me all the anniversaries that will fall within the next two weeks?
For instance if I have a record with these values:
Name, Anniversary BukHix, 1/1/2003
I want the query to look at today’s date, which in this case would be 12/29/2005 go two weeks forward, which would make it 1/12/2006 and show any anniversary date that would fall between the dates.
The catch (and the part that is throwing me off) is how do I do that without explicitly naming the year? I mean I need to catch every date in that range from 1965 to Current year - 1.
I have this code for calculating the age from birthdate but i want if there is years no months or days appear
Public Function CalcAge(Birthdate As Date) As String Dim intYears As Integer, intMonths As Integer, intDays As Integer intMonths = DateDiff("m", Birthdate, Date) intDays = DateDiff("d", DateAdd("m", intMonths, Birthdate), Date)
Not sure if this is actually done with a query (hell, im not sure if it can be done) as my Access knowledge is limited but I've got a list of Patient Appointment Dates and I need to calculate a list of 'Next Appointment' dates that are six months on from the appointment dates not including saturdays and sundays (as the health center is closed those days)
BTW this is for coursework, I don't really work for a health center :S
edit: I seem to have put this in the tables forum, not the queries forum. Apologies for that, I'm not an Idiot, Honest!
Im working on a make-table query that harvest records for calculation that span a "rolling" 13 week history... my problem is that the query will work if it doesn't have to retrieve work weeks that are prior to the new year. For example, right now is the tenth week of this year so i need to grab the previous 9 weeks of history plus 4 weeks of the prior year. then next week when the query is ran we will be in the 11th work week of the year therefor i will need to harvest the past 10 week plus 3 week of the preivious year. the query works if you don't have to span accross calendar years. here is the SQL of the query below the problem area is in underlined in bold type: SELECT PORVPHIS.VENDOR_ID, PORVPHIS.VEND_NAME, [Expr2] AS [Fiscal Year], DatePart("yyyy",[DATE_RECV]) AS Expr2, DatePart("ww",[DATE_RECV]) AS Expr1, PORVPHIS.QTY_RECVD, PORVPHIS.PO_UNT_PRC, [PO_UNT_PRC]*[qty_recvd] AS [Total Price], [Expr1] AS [Fiscal Week], IIf([fiscal week]=[LowWeek] And [Expr3]<>0,[total price],0) AS 1, IIf([fiscal Week]=[LowWeek]+1 And [Expr3]<>0,[total price],0) AS 2, IIf([fiscal Week]=[LowWeek]+2 And [Expr3]<>0,[total price],0) AS 3, IIf([fiscal Week]=[LowWeek]+3 And [Expr3]<>0,[total price],0) AS 4, IIf([fiscal Week]=[LowWeek]+4 And [Expr3]<>0,[total price],0) AS 5, IIf([fiscal Week]=[LowWeek]+5 And [Expr3]<>0,[total price],0) AS 6, IIf([fiscal Week]=[LowWeek]+6 And [Expr3]<>0,[total price],0) AS 7, IIf([fiscal Week]=[LowWeek]+7 And [Expr3]<>0,[total price],0) AS 8, IIf([fiscal Week]=[LowWeek]+8 And [Expr3]<>0,[total price],0) AS 9, IIf([fiscal Week]=[LowWeek]+9 And [Expr3]<>0,[total price],0) AS 10, IIf([fiscal Week]=[LowWeek]+10 And [Expr3]<>0,[total price],0) AS 11, IIf([fiscal Week]=[LowWeek]+11 And [Expr3]<>0,[total price],0) AS 12, IIf([fiscal Week]=[LowWeek]+12 And [Expr3]<>0,[total price],0) AS 13, DatePart("ww",Now())-13 AS LowWeek, IIf([fiscal Week]>=[LowWeek] And [fiscal year]<>DatePart("yyyy",Now()),0,[LowWeek]) AS Expr3, [LowWeek] AS week1, [LowWeek]+1 AS week2, [LowWeek]+2 AS week3, [LowWeek]+3 AS week4, [LowWeek]+4 AS week5, [LowWeek]+5 AS week6, [LowWeek]+6 AS week7, [LowWeek]+7 AS week8, [LowWeek]+8 AS week9, [LowWeek]+9 AS week10, [LowWeek]+10 AS week11, [LowWeek]+11 AS week12, [LowWeek]+12 AS week13, PORVPHIS.DATE_RECV, IIf([Expr4]="AS8819" Or [Expr4]="CO1870" Or [Expr4]="GV2510" Or [Expr4]="MC3105",[VEND_NAME],Null) AS ID, PORVPHIS.VENDOR_ID AS Expr4 INTO Tporv
FROM PORVPHIS
WHERE (((PORVPHIS.VENDOR_ID)="AS8819" Or (PORVPHIS.VENDOR_ID)="CO1870" Or (PORVPHIS.VENDOR_ID)="GV2510" Or (PORVPHIS.VENDOR_ID)="MC3105" Or (PORVPHIS.VENDOR_ID)="IM2680") AND ((DatePart("yyyy",[DATE_RECV])) Between DatePart("yyyy",Now())-1 And (DatePart("yyyy",Now()))) AND ((DatePart("ww",[DATE_RECV])) Between DatePart("ww",Now())-1 And (DatePart("ww",Now()))-13));
I hope some one can help me......you can email me by markphillipsii@bellsouth.net or mphillips@dccabinetry.com