I have a button set to open a report and place a filter on it. It is not displaying the correct records, but it is also not displaying the same records each time. The query the Report is based on looks something like this:
SELECT DISTINCTROW BackupRevised.CUST, BackupRevised.CTRL, BackupRevised.DESCR, BackupRevised.[Due Date], BackupRevised.STATUS, BackupRevised.ISS_DATE, BackupRevised.CAL, BackupRevised.LOC, BackupRevised.MNFR, BackupRevised.MODEL
FROM BackupRevised
ORDER BY BackupRevised.CTRL;
Now, BackupRevised is a query in itself:
SELECT DISTINCTROW qryAllInfo.DESCR, qryAllInfo.MNFR , qryAllInfo.MODEL , qryAllInfo.FAC_GOVT , qryAllInfo.SER_NO , qryAllInfo.CTRL , qryAllInfo.DCTRL , qryAllInfo.CUST , qryAllInfo.LOC , qryAllInfo.CAL , qryAllInfo.ISS_DATE , qryAllInfo.NUM , qryAllInfo.STATUS , qryAllInfo.NO_CALS , qryAllInfo.TIMES_IN , qryAllInfo.NO_MAINT , qryAllInfo.NO_CALS93 , qryAllInfo.TIMES_IN93 , qryAllInfo.NO_MAINT93 , qryAllInfo.NOTE , qryAllInfo.[Due Date],qryAllInfo.[FAX #], qryAllInfo.NEW_GROUP, qryAllInfo.Email FROM qryAllInfo LEFT JOIN ExtendedDue ON (qryAllInfo.CTRL = ExtendedDue.CTRL) WHERE ExtendedDue.CTRL Is Null UNION SELECT * FROM ExtendedDue
ORDER BY CUST;
And, of course, qryAllInfo and ExtendedDue are queries:
qryAllInfo:
SELECT BACKUP.DESCR, BACKUP.MNFR, BACKUP.MODEL, BACKUP.FAC_GOVT, BACKUP.SER_NO, BACKUP.CTRL, BACKUP.DCTRL, BACKUP.CUST, BACKUP.LOC, BACKUP.CAL, BACKUP.ISS_DATE, BACKUP.DUE_DATE AS [Due Date], BACKUP.NUM, BACKUP.STATUS, BACKUP.NO_CALS, BACKUP.TIMES_IN, BACKUP.NO_MAINT, BACKUP.NO_CALS93, BACKUP.TIMES_IN93, BACKUP.NO_MAINT93, BACKUP.NOTE, ALLOCAT.GROUP AS [GROUP], ALLOCAT.NEW_GROUP AS [NEW GROUP], ALLOCAT.Notified AS Notified, ALLOCAT.[FAX #] AS [FAX #], GROUPS.[QUALITY LEADER] AS [QUALITY LEADER], ALLOCAT.Email, ALLOCAT.NEW_GROUP
FROM GROUPS INNER JOIN (ALLOCAT INNER JOIN BACKUP ON (BACKUP.CUST = ALLOCAT.NAME) AND (ALLOCAT.NAME = BACKUP.CUST)) ON GROUPS.GROUP = ALLOCAT.GROUP;
Extended Due:
SELECT AllExtended.DESCR, AllExtended.MNFR, AllExtended.MODEL, AllExtended.FAC_GOVT, AllExtended.SER_NO, AllExtended.CTRL, AllExtended.DCTRL, AllExtended.CUST, AllExtended.LOC, AllExtended.CAL, AllExtended.ISS_DATE, AllExtended.NUM, AllExtended.STATUS, AllExtended.NO_CALS, AllExtended.TIMES_IN, AllExtended.NO_MAINT, AllExtended.NO_CALS93, AllExtended.TIMES_IN93, AllExtended.NO_MAINT93, AllExtended.NOTE, Max(AllExtended.[Due Date]) AS [Due Date], AllExtended.[FAX #], AllExtended.NEW_GROUP, AllExtended.Email
FROM AllExtended
GROUP BY AllExtended.DESCR, AllExtended.MNFR, AllExtended.MODEL, AllExtended.FAC_GOVT, AllExtended.SER_NO, AllExtended.CTRL, AllExtended.DCTRL, AllExtended.CUST, AllExtended.LOC, AllExtended.CAL, AllExtended.ISS_DATE, AllExtended.NUM, AllExtended.STATUS, AllExtended.NO_CALS, AllExtended.TIMES_IN, AllExtended.NO_MAINT, AllExtended.NO_CALS93, AllExtended.TIMES_IN93, AllExtended.NO_MAINT93, AllExtended.NOTE, AllExtended.[FAX #], AllExtended.NEW_GROUP, AllExtended.Email;
Finally, AllExtended is a query:
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[DESCR] WHERE ((BACKUP.[DESCR]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[LOC] WHERE ((BACKUP.[LOC]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[CTRL] WHERE ((BACKUP.[CTRL]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON val(EXTENSIONS.VALUE) = BACKUP.[DUE_DATE] WHERE ((BACKUP.[DUE_DATE]) Like val(EXTENSIONS.VALUE)) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[STATUS] WHERE ((BACKUP.[STATUS]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN';
Now, BACKUP, well, that's a table, as is EXTENSIONS, as is ALLOCAT.
Can someone tell me what may lead to an inconsistent filtering function (I get the same random results when I use Filter By Form in my table view)?
SELECT DISTINCTROW BackupRevised.CUST, BackupRevised.CTRL, BackupRevised.DESCR, BackupRevised.[Due Date], BackupRevised.STATUS, BackupRevised.ISS_DATE, BackupRevised.CAL, BackupRevised.LOC, BackupRevised.MNFR, BackupRevised.MODEL
FROM BackupRevised
ORDER BY BackupRevised.CTRL;
Now, BackupRevised is a query in itself:
SELECT DISTINCTROW qryAllInfo.DESCR, qryAllInfo.MNFR , qryAllInfo.MODEL , qryAllInfo.FAC_GOVT , qryAllInfo.SER_NO , qryAllInfo.CTRL , qryAllInfo.DCTRL , qryAllInfo.CUST , qryAllInfo.LOC , qryAllInfo.CAL , qryAllInfo.ISS_DATE , qryAllInfo.NUM , qryAllInfo.STATUS , qryAllInfo.NO_CALS , qryAllInfo.TIMES_IN , qryAllInfo.NO_MAINT , qryAllInfo.NO_CALS93 , qryAllInfo.TIMES_IN93 , qryAllInfo.NO_MAINT93 , qryAllInfo.NOTE , qryAllInfo.[Due Date],qryAllInfo.[FAX #], qryAllInfo.NEW_GROUP, qryAllInfo.Email FROM qryAllInfo LEFT JOIN ExtendedDue ON (qryAllInfo.CTRL = ExtendedDue.CTRL) WHERE ExtendedDue.CTRL Is Null UNION SELECT * FROM ExtendedDue
ORDER BY CUST;
And, of course, qryAllInfo and ExtendedDue are queries:
qryAllInfo:
SELECT BACKUP.DESCR, BACKUP.MNFR, BACKUP.MODEL, BACKUP.FAC_GOVT, BACKUP.SER_NO, BACKUP.CTRL, BACKUP.DCTRL, BACKUP.CUST, BACKUP.LOC, BACKUP.CAL, BACKUP.ISS_DATE, BACKUP.DUE_DATE AS [Due Date], BACKUP.NUM, BACKUP.STATUS, BACKUP.NO_CALS, BACKUP.TIMES_IN, BACKUP.NO_MAINT, BACKUP.NO_CALS93, BACKUP.TIMES_IN93, BACKUP.NO_MAINT93, BACKUP.NOTE, ALLOCAT.GROUP AS [GROUP], ALLOCAT.NEW_GROUP AS [NEW GROUP], ALLOCAT.Notified AS Notified, ALLOCAT.[FAX #] AS [FAX #], GROUPS.[QUALITY LEADER] AS [QUALITY LEADER], ALLOCAT.Email, ALLOCAT.NEW_GROUP
FROM GROUPS INNER JOIN (ALLOCAT INNER JOIN BACKUP ON (BACKUP.CUST = ALLOCAT.NAME) AND (ALLOCAT.NAME = BACKUP.CUST)) ON GROUPS.GROUP = ALLOCAT.GROUP;
Extended Due:
SELECT AllExtended.DESCR, AllExtended.MNFR, AllExtended.MODEL, AllExtended.FAC_GOVT, AllExtended.SER_NO, AllExtended.CTRL, AllExtended.DCTRL, AllExtended.CUST, AllExtended.LOC, AllExtended.CAL, AllExtended.ISS_DATE, AllExtended.NUM, AllExtended.STATUS, AllExtended.NO_CALS, AllExtended.TIMES_IN, AllExtended.NO_MAINT, AllExtended.NO_CALS93, AllExtended.TIMES_IN93, AllExtended.NO_MAINT93, AllExtended.NOTE, Max(AllExtended.[Due Date]) AS [Due Date], AllExtended.[FAX #], AllExtended.NEW_GROUP, AllExtended.Email
FROM AllExtended
GROUP BY AllExtended.DESCR, AllExtended.MNFR, AllExtended.MODEL, AllExtended.FAC_GOVT, AllExtended.SER_NO, AllExtended.CTRL, AllExtended.DCTRL, AllExtended.CUST, AllExtended.LOC, AllExtended.CAL, AllExtended.ISS_DATE, AllExtended.NUM, AllExtended.STATUS, AllExtended.NO_CALS, AllExtended.TIMES_IN, AllExtended.NO_MAINT, AllExtended.NO_CALS93, AllExtended.TIMES_IN93, AllExtended.NO_MAINT93, AllExtended.NOTE, AllExtended.[FAX #], AllExtended.NEW_GROUP, AllExtended.Email;
Finally, AllExtended is a query:
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[DESCR] WHERE ((BACKUP.[DESCR]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[LOC] WHERE ((BACKUP.[LOC]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[CTRL] WHERE ((BACKUP.[CTRL]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION
SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON val(EXTENSIONS.VALUE) = BACKUP.[DUE_DATE] WHERE ((BACKUP.[DUE_DATE]) Like val(EXTENSIONS.VALUE)) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN'
UNION SELECT DISTINCTROW BACKUP.*, IIf(BACKUP.[DUE_DATE]<Extensions.[ExtDate],Extensions.[ExtDate],BACKUP.[DUE_DATE]) AS [Due Date],ALLOCAT.[FAX #], ALLOCAT.NEW_GROUP, ALLOCAT.Email FROM EXTENSIONS INNER JOIN (BACKUP INNER JOIN ALLOCAT ON BACKUP.CUST = ALLOCAT.NAME) ON EXTENSIONS.VALUE = BACKUP.[STATUS] WHERE ((BACKUP.[STATUS]) Like EXTENSIONS.VALUE) AND BACKUP.DUE_DATE > 0 AND BACKUP.DESCR NOT LIKE 'ACCEL' AND BACKUP.DESCR NOT LIKE 'SYNCHRO TRAN';
Now, BACKUP, well, that's a table, as is EXTENSIONS, as is ALLOCAT.
Can someone tell me what may lead to an inconsistent filtering function (I get the same random results when I use Filter By Form in my table view)?