【发布时间】:2019-05-13 17:10:50
【问题描述】:
我编写了一个未在 VBA 代码中执行的查询,但相同的查询通过 MS Access 中的查询工作。如何修改?
正在运行的代码:
SELECT SLO_portfele.P_nazwaPortfela from ((SLO_portfele INNER JOIN Ewidencje on SLO_portfele.ID_portfela = Ewidencje.ID_portfela) INNER JOIN KP_KartyProjektow on KP_KartyProjektow.ID_kartyProjektu = Ewidencje.ID_kartyProjektu) WHERE KP_KartyProjektow.KP_krotkaNazwaProjektu = "Generowanie CWU"
不工作的代码:
strSql = "SELECT SLO_portfele.P_nazwaPortfela from SLO_portfele INNER JOIN Ewidencje on SLO_portfele.ID_portfela = Ewidencje.ID_portfela INNER JOIN KP_KartyProjektow on KP_KartyProjektow.ID_kartyProjektu = Ewidencje.ID_kartyProjektu WHERE KP_KartyProjektow.KP_krotkaNazwaProjektu = '" & (krotkaNazwaProjektu) & "' "
Set rst = CurrentDb.OpenRecordset(strSql)
przypisanie5 = rst!P_nazwaPortfela
rst.Close
但是,这很奇怪,因为 VBA 中的另一个查询有效(类似):
strSql = "SELECT Ewidencje.E_dataPlanowaneZakonczenieProjektu from Ewidencje INNER JOIN KP_KartyProjektow on Ewidencje.ID_kartyProjektu = KP_KartyProjektow.ID_kartyProjektu WHERE KP_KartyProjektow.KP_krotkaNazwaProjektu = '" & (krotkaNazwaProjektu) & "' "
Set rst = CurrentDb.OpenRecordset(strSql)
przypisanie2 = rst!E_dataPlanowaneZakonczenieProjektu
rst.Close
出现的错误是..:此代码生成消息错误:
语法错误(无运算符)。
如何处理查询?
【问题讨论】:
-
krotkaNazwaProjektu 是否可能包含
'? -
不,这是不可能的。我尝试了版本:“”” & (krotkaNazwaProjektu) & “””,它也不起作用。
-
我没有看到循环记录集的常用代码。以防万一:dim przypisanie5 as something: rst.movefirst: do until rst.eof: przypisanie5 = rst!P_nazwaPortfela: rst.movenext: loop