我想通过将我的SQL代码转换为String
来重新查询我的子表单,然后执行requery函数。问题是,我无法将下面的SQL代码转换为.RecordSource
可以评估的正确字符串。
这是我原来的SQL代码:
SELECT tbl_Records.Inst_ID, [tbl_Instruments].[Type] & "-" & [tbl_Instruments].[Item] AS [Tool ID], tbl_Records.Cal_Date AS Cal_Date, tbl_Cal_By.Name_ABBR AS Cal_By, tbl_Records.As_Received, tbl_Records.Result, DateAdd("d",[tbl_Instruments]![Lead_Time],DateAdd("m",[qry_CofC]![Calibration Freq],[tbl_Records]![Cal_date])) AS Next_Due, DateDiff("d",Date(),DateAdd("d",[tbl_Instruments]![Lead_Time],DateAdd("m",[qry_CofC]![Calibration Freq],[tbl_Records]![Cal_date]))) AS Due
FROM (tbl_Cal_By RIGHT JOIN (tbl_Instruments INNER JOIN tbl_Records ON tbl_Instruments.ID = tbl_Records.Inst_ID) ON tbl_Cal_By.ID = tbl_Records.BY) INNER JOIN qry_CofC ON tbl_Instruments.ID = qry_CofC.ID
WHERE (((Exists (SELECT 1 FROM tbl_Records t
WHERE t.Inst_ID = tbl_Instruments.ID
AND t.Cal_date > tbl_Records.Cal_Date))=False));
这就是我重新查询的方式:
Dim SQL As String
SQL = "ABOVE ORIGINAL SQL CODE"
subform_Records.Form.RecordSource = SQL
subform_Records.Form.Requery
答案 0 :(得分:0)
问题很可能是你的查询中的引号(") - 尝试通过加倍来逃避它们 - 所以
[tbl_Instruments]。[Type]& "" - "" &安培;
等