Оператор select содержит зарезервированное слово или имя аргумента, которое написано с ошибкой или отсутствует, или пунктуация неверна - PullRequest
1 голос
/ 16 февраля 2012

Я не могу на всю жизнь понять, почему я получаю эту ошибку.Я довольно хорошо знаком с VB и SQL, но не привык использовать Access.Я запустил свой запрос отдельно только для доступа, и он работает просто отлично ... Ниже приведен мой код.Какие-либо предложения!?!?Большое спасибо !!!

Private Sub Command18_Click()
Dim db As Database
Dim rs As Recordset
Dim sSQL As String

sSQL = "SELECT Count(*) AS Duration" _
         & "FROM [Project_Duration_Info] " _
         & "WHERE [Project - Consulting Partner] In (Select [CP_Name] from [CP's] " _
                                               & "Where [CP_DDL] = [Forms]![Consulting Partners]![CPs]) " _
        & "AND [Project - Actual Complete Date] >= [Forms]![Consulting Partners]![FromDate] " _
        & "AND  [Project - Actual Complete Date] < [Forms]![Consulting Partners]![ToDate]"

Set db = CurrentDb
Set rs = db.OpenRecordset(sSQL)
If rs.RecordCount > 0 Then
Me.Duration = rs!Durations
Else
Me.Duration = ""
End If
Set rs = Nothing
Set db = Nothing
End Sub

1 Ответ

0 голосов
/ 16 февраля 2012

Похоже, вы объединяете VBA и SQL в один оператор: [Forms]![Consulting Partners]![CPs] выглядит как переменная, извлеченная из формы, но встроенная в SQL try

WHERE [CP_DDL] = '" & [Forms]![Consulting Partners]![CPs] & "'

Та же логика должна бытьприменяется к [Forms]![Consulting Partners]![ToDate] и [Forms]![Consulting Partners]![FromDate], и если это даты, вам, вероятно, потребуется заключить их в # (таким образом, конечный результат будет # 01/01/2012 # )

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