У меня проблемы с VBA SQL JOIN. Я продолжаю получать сообщение об ошибке «Присоединить выражение не поддерживается». Следующий код работает в представлении дизайна запроса, но, похоже, вызывает ошибку в vba.VBA SQL Join Query
Dim Rs As DAO.RecordSet
Set Rs = CurrentDb.OpenRecordset(_
"SELECT Schools.ID, Schools.[School Name],Schools.Address, Schools.Postcode, Schools.[Principal name], " & _
"Schools.[E-Mail], Schools.Phone, Schools.Region, Schools.JTHE, Schools.[Social Status], Events.Program " & _
"FROM Schools INNER JOIN Events ON Schools.ID = Events.School WHERE ((Schools.Region = '" & RegionOne & _
"' Or Schools.Region = '" & RegionTwo "' Or Schools.Region = '" & RegionThree "' Or Schools.Region = '" & _
RegionFour "') AND (Schools.JTHE = " & JTHE1 & " Or Schools.JTHE = " & JTHE2 ") AND (Schools.[Social Status] = '" & _
StatusBox.Value "') AND (Events.Program = '" & ProgramBox.Value & "'));")
Это Подобный запрос работает
Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Schools WHERE " & _
"(((Schools.Region)='" & RegionOne & _
"' Or (Schools.Region)='" & RegionTwo & _
"' Or (Schools.Region)='" & RegionThree & _
"' Or (Schools.Region)='" & RegionFour & _
"') AND ((Schools.[Social Status])='" & StatusBox.Value & _
"') AND ((Schools.JTHE)=" & JTHE1 & " Or (Schools.JTHE)=" & JTHE2 & "));")
Любая помощь будет принята с благодарностью.
Где ваше объявление для 'RegionOne',' RegionTwo', 'RegionThree',' RegionFour', 'JTHE1',' JTHE2'? – PaulFrancis
В верхней части модуля. В инициализируются Струны Dim RegionOne As String Dim RegionTwo As String Dim RegionThree As String Dim RegionFour As String Dim JTHE1 As Boolean Dim JTHE2 As Boolean – Mike
Попробуйте ** Debug.Print **, посмотрим, что вы получаете int он сгенерировал SQL в непосредственном окне. Затем скопируйте сгенерированный SQL в окно Query, вы можете точно зафиксировать ошибку. Если нет, попробуйте выполнить одно условие за раз. Сначала попробуйте использовать только регион, затем JTHE, затем Program. – PaulFrancis