Autoeng
Why me?
- Local time
- Today, 15:45
- Joined
- Aug 13, 2002
- Messages
- 1,302
I have a functioning query that calculates DateDiff minus holidays and weekends based on a start and end date for a report. All is functioning well but I need to create a new query to perform the same calculation on a different set of fields. I am copying the original SQL query to Notepad to make the changes as I know that Access sometimes has problems with altering SQL queries. When I copy the revised query into Access and try to run it I get a "Syntax Error in FROM clause". Below is the original working query and below that the non-working new query. I think that the problem lies in that the original compared fields from two different tables while the new query is working within one table. Any help would be greatly appreciated. Note that it would probably be much easier to print this out as the SQL queries are quite long and complex.
SELECT [tblECNBCNVIP].[ECNBCNVIPId], [tblECNBCNVIP].[ReleaseDate], [tblECNDetail].[PendingDate], DateDiff("d",[tblECNBCNVIP].[ReleaseDate],[tblECNDetail].[PendingDate],2)- IIf([HCOUNT]>0,[HCOUNT],0) AS DaysDiff, Int([daysdiff]/7) AS Weeks, [daysdiff]-[weeks]*3+IIf(Weekday([tblECNDetail].[PendingDate],2)>5,5-Weekday([tblECNDetail].[PendingDate],2),0)+IIf(Weekday([tblECNBCNVIP].[ReleaseDate],2)=6,1,0)-IIf(Weekday([tblECNBCNVIP].[ReleaseDate],2)>Weekday([tblECNDetail].[PendingDate],2),2,0)+IIf([tblECNBCNVIPtbl].[ReleaseDate]=[tblECNDetail].[PendingDate],1,0) AS weekdays, Query5.HCOUNT
FROM (tblECNBCNVIP INNER JOIN tblECNDetail ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]) LEFT JOIN [SELECT Query4.[tblECNBCNVIP].[ECNBCNVIPId], Sum(Query4.TEMPVAL) AS HCOUNT
FROM (SELECT [tblECNBCNVIP].[ECNBCNVIPId], 1 AS TEMPVAL
FROM tblHoliday, [tblECNBCNVIP] INNER JOIN [tblECNDetail] ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]
WHERE (((tblHoliday.Holiday) Between [tblECNBCNVIP].[ReleaseDate] And [tblECNDetail].[PendingDate]))) AS Query4
GROUP BY Query4.[tblECNBCNVIP].[ECNBCNVIPId]]. AS Query5 ON [tblECNBCNVIP].[ECNBCNVIPId] = Query5.[tblECNBCNVIP].[ECNBCNVIPId]
WHERE ((([tblECNDetail].[PendingDate]) Between [Forms]![frmDates]![StartDate] And [Forms]![frmDates]![StopDate]) AND (([tblECNBCNVIP].[DoNotProcess])<>"Do Not Process"));
The new SQL query that does not function.
SELECT [tblECNBCNVIP].[ECNBCNVIPId], [tblECNDetail].[PendingDate], [tblECNDetail].[SourcingReturnDate], DateDiff("d",[tblECNDetail].[PendingDate],[tblECNDetail].[SourcingReturnDate],2)- IIf([HCOUNT]>0,[HCOUNT],0) AS DaysDiff, Int([daysdiff]/7) AS Weeks, [daysdiff]-[weeks]*3+IIf(Weekday([tblECNDetail].[SourcingReturnDate],2)>5,5-Weekday([tblECNDetail].[SourcingReturnDate],2),0)+IIf(Weekday([tblECNDetail].[PendingDate],2)=6,1,0)-IIf(Weekday([tblECNDetail].[PendingDate],2)>Weekday([tblECNDetail].[SourcingReturnDate],2),2,0)+IIf([tblECNDetail].[PendingDate]=[tblECNDetail].[SourcingReturnDate],1,0) AS weekdays, Query5.HCOUNT
FROM (tblECNBCNVIP INNER JOIN tblECNDetail ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]) LEFT JOIN [SELECT Query4.[tblECNBCNVIP].[ECNBCNVIPId], Sum(Query4.TEMPVAL) AS HCOUNT
FROM (SELECT [tblECNBCNVIP].[ECNBCNVIPId], 1 AS TEMPVAL
FROM tblHoliday, [tblECNBCNVIP] INNER JOIN [tblECNDetail] ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]
WHERE (((tblHoliday.Holiday) Between [tblECNDetail].[PendingDate] And [tblECNDetail].[SourcingReturnDate]))) AS Query4
GROUP BY Query4.[tblECNBCNVIP].[ECNBCNVIPId]]. AS Query5 ON [tblECNBCNVIP].[ECNBCNVIPId] = Query5.[tblECNBCNVIP].[ECNBCNVIPId]
WHERE ((([tblECNDetail].[SourcingReturnDate]) Between [Forms]![frmDates]![StartDate] And [Forms]![frmDates]![StopDate]) AND (([tblECNBCNVIP].[DoNotProcess])<>"Do Not Process"));
SELECT [tblECNBCNVIP].[ECNBCNVIPId], [tblECNBCNVIP].[ReleaseDate], [tblECNDetail].[PendingDate], DateDiff("d",[tblECNBCNVIP].[ReleaseDate],[tblECNDetail].[PendingDate],2)- IIf([HCOUNT]>0,[HCOUNT],0) AS DaysDiff, Int([daysdiff]/7) AS Weeks, [daysdiff]-[weeks]*3+IIf(Weekday([tblECNDetail].[PendingDate],2)>5,5-Weekday([tblECNDetail].[PendingDate],2),0)+IIf(Weekday([tblECNBCNVIP].[ReleaseDate],2)=6,1,0)-IIf(Weekday([tblECNBCNVIP].[ReleaseDate],2)>Weekday([tblECNDetail].[PendingDate],2),2,0)+IIf([tblECNBCNVIPtbl].[ReleaseDate]=[tblECNDetail].[PendingDate],1,0) AS weekdays, Query5.HCOUNT
FROM (tblECNBCNVIP INNER JOIN tblECNDetail ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]) LEFT JOIN [SELECT Query4.[tblECNBCNVIP].[ECNBCNVIPId], Sum(Query4.TEMPVAL) AS HCOUNT
FROM (SELECT [tblECNBCNVIP].[ECNBCNVIPId], 1 AS TEMPVAL
FROM tblHoliday, [tblECNBCNVIP] INNER JOIN [tblECNDetail] ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]
WHERE (((tblHoliday.Holiday) Between [tblECNBCNVIP].[ReleaseDate] And [tblECNDetail].[PendingDate]))) AS Query4
GROUP BY Query4.[tblECNBCNVIP].[ECNBCNVIPId]]. AS Query5 ON [tblECNBCNVIP].[ECNBCNVIPId] = Query5.[tblECNBCNVIP].[ECNBCNVIPId]
WHERE ((([tblECNDetail].[PendingDate]) Between [Forms]![frmDates]![StartDate] And [Forms]![frmDates]![StopDate]) AND (([tblECNBCNVIP].[DoNotProcess])<>"Do Not Process"));
The new SQL query that does not function.
SELECT [tblECNBCNVIP].[ECNBCNVIPId], [tblECNDetail].[PendingDate], [tblECNDetail].[SourcingReturnDate], DateDiff("d",[tblECNDetail].[PendingDate],[tblECNDetail].[SourcingReturnDate],2)- IIf([HCOUNT]>0,[HCOUNT],0) AS DaysDiff, Int([daysdiff]/7) AS Weeks, [daysdiff]-[weeks]*3+IIf(Weekday([tblECNDetail].[SourcingReturnDate],2)>5,5-Weekday([tblECNDetail].[SourcingReturnDate],2),0)+IIf(Weekday([tblECNDetail].[PendingDate],2)=6,1,0)-IIf(Weekday([tblECNDetail].[PendingDate],2)>Weekday([tblECNDetail].[SourcingReturnDate],2),2,0)+IIf([tblECNDetail].[PendingDate]=[tblECNDetail].[SourcingReturnDate],1,0) AS weekdays, Query5.HCOUNT
FROM (tblECNBCNVIP INNER JOIN tblECNDetail ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]) LEFT JOIN [SELECT Query4.[tblECNBCNVIP].[ECNBCNVIPId], Sum(Query4.TEMPVAL) AS HCOUNT
FROM (SELECT [tblECNBCNVIP].[ECNBCNVIPId], 1 AS TEMPVAL
FROM tblHoliday, [tblECNBCNVIP] INNER JOIN [tblECNDetail] ON [tblECNBCNVIP].[ECNBCNVIPId] = [tblECNDetail].[ECNBCNVIPId]
WHERE (((tblHoliday.Holiday) Between [tblECNDetail].[PendingDate] And [tblECNDetail].[SourcingReturnDate]))) AS Query4
GROUP BY Query4.[tblECNBCNVIP].[ECNBCNVIPId]]. AS Query5 ON [tblECNBCNVIP].[ECNBCNVIPId] = Query5.[tblECNBCNVIP].[ECNBCNVIPId]
WHERE ((([tblECNDetail].[SourcingReturnDate]) Between [Forms]![frmDates]![StartDate] And [Forms]![frmDates]![StopDate]) AND (([tblECNBCNVIP].[DoNotProcess])<>"Do Not Process"));