如果列中没有“位”,我会尝试获取最后20条记录,如果列中有“位”,我想要获取记录后面有位的记录。在我的示例中,注释列中的字符串是"dry dock“。这就是我的SQL:
SELECT TOP 20
[Date],
[Lift ID]
FROM [Input Data$]
WHERE [Vessel name]='" + shipName + "'
AND [Lift ID] >= Iif(
(
SELECT max([Lift ID])
FROM [Input Data$]
WHERE [Vessel name]='" + shipName + "'
AND [Comments] LIKE '%dry dock%'
) >=1;
(
SELECT max([Lift ID])
FROM [Input Data$]
WHERE [Vessel name]='" + shipName + "'
AND [Comments] LIKE '%dry dock%'
);
1
)
ORDER BY [Date] DESC
我收到VBA运行时'-2147217900 (80040e14)‘错误消息"Microsoft Syntax error in query expression ...“
为什么我会得到这个错误?
发布于 2020-10-17 06:21:19
使嵌套查询成为单独的查询LikeDryDock
SELECT max([Lift ID])
FROM [Input Data$]
WHERE [Vessel name]='" + shipName + "'
AND [Comments] LIKE '%dry dock%'
然后在另一个查询中调用该查询
SELECT TOP 20
[Date],
[Lift ID]
FROM [Input Data$]
WHERE [Vessel name]='" + shipName + "'
AND [Lift ID] >= Iif(
LikeDryDock >= 1, LikeDryDock, 1
)
ORDER BY [Date] DESC
https://stackoverflow.com/questions/64396917
复制相似问题