Here is a query that seems to return the y,m,d :
Of course, you have to change the table name and field names to match yours. To get the total, I would use a totals query or use grouping in a report.
Code:
SELECT tblAminSubhani.EmpName, tblAminSubhani.City, tblAminSubhani.startdate, tblAminSubhani.EndDate, DateDiff("yyyy",[startdate],Nz([EndDate],Date())+1)-IIf(Format([StartDate],"mmdd")>Format(Nz([EndDate],Date()),"mmdd"),1,0) AS theYears, IIf(Day([startdate])<=Day(Nz([EndDate],Date())+1),DateDiff("m",[startdate],Nz([EndDate],Date())+1)-[theYears]*12,DateDiff("m",[startdate],Nz([EndDate],Date()+1))-[theYears]*12-1) AS theMonths, DateDiff("d",DateAdd("m",[theMonths],DateAdd("yyyy",[theYears],[startdate])),Nz([EndDate],Date())+1) AS theDays, [theyears] & " years, " & [themonths] & " months, " & [thedays] & " days" AS ToString
FROM tblAminSubhani;