Do you have nay ideas why a query that works OK by itself, fails when opened as a recordset in VB?
I have an MS Access query that references some fields on a form as criteria.
When I run the query directly (as a query), with the form open, it performs perfectly.
When I attempt to open the same query as a recordset in VB, using an ADODB connection, it works fine until I add a reference to a field on the form, when I then get error:
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
The SQL (generated by MS Access design view) that works fine by itself, but fails when opened as a recordset is included below. If I remove the condition
((EvnLog.TimeDate) Between [forms]![frmMain].[dteDayFirst] And [forms]![frmMain].[dteDayLast])
from the query, the recordset opens OK.
SQL
---
I have an MS Access query that references some fields on a form as criteria.
When I run the query directly (as a query), with the form open, it performs perfectly.
When I attempt to open the same query as a recordset in VB, using an ADODB connection, it works fine until I add a reference to a field on the form, when I then get error:
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
The SQL (generated by MS Access design view) that works fine by itself, but fails when opened as a recordset is included below. If I remove the condition
((EvnLog.TimeDate) Between [forms]![frmMain].[dteDayFirst] And [forms]![frmMain].[dteDayLast])
from the query, the recordset opens OK.
SQL
---
Code:
SELECT EvnLog.Code, EvnLog.Loc, EvnLog.TimeDate, DEV.TNA, COMPANY.Company, COMPANY.Name, tblCompanyCodes.Type, Year([TimeDate]) AS [Year], Month([TimeDate]) AS [Month], Day([TimeDate]) AS [Day], [Forms]![frmMain].[dteDayFirst] AS Test
FROM (((COMPANY INNER JOIN ([NAMES] INNER JOIN (EvnLog INNER JOIN CARDS ON (EvnLog.Code = CARDS.Code) AND (EvnLog.Loc = CARDS.LocGrp)) ON (NAMES.ID = CARDS.NameID) AND (NAMES.LocGrp = CARDS.LocGrp)) ON (COMPANY.Company = NAMES.Company) AND (COMPANY.LocGrp = NAMES.LocGrp)) INNER JOIN DEV ON EvnLog.Dev = DEV.Device) INNER JOIN Evn ON EvnLog.Event = Evn.Event) LEFT JOIN tblCompanyCodes ON (COMPANY.LocGrp = tblCompanyCodes.LocGrp) AND (COMPANY.Company = tblCompanyCodes.Company)
WHERE (((EvnLog.TimeDate) Between [forms]![frmMain].[dteDayFirst] And [forms]![frmMain].[dteDayLast]) AND ((DEV.TNA)="I" Or (DEV.TNA)="O") AND ((EvnLog.Event)=8))
ORDER BY EvnLog.Code, EvnLog.TimeDate, Year([TimeDate]), Month([TimeDate]), Day([TimeDate]);