MS ACCESS - запрос работает через запрос, и в VBA есть ошибка. Как изменить запрос? - PullRequest
0 голосов
/ 13 мая 2019

Я написал запрос, который не выполняется в коде 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

Ошибка, которая возникает: ..: Этот код генерирует сообщение об ошибке:

Синтаксическая ошибка (без оператора).

Как мне обработать запрос?

1 Ответ

2 голосов
/ 13 мая 2019

Распечатайте готовый SQL:

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) & "' "
Debug.Print strSQL

Затем откройте новый запрос и в представлении SQL скопируйте и вставьте содержимое strSQL.

Запуститезапрос, и вы увидите, почему он «не работает».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...