SELECT синтаксиса(пропущен оператор)

smi
Дата: 06.09.2005 00:09:35
Добрый вечер.
Помогите пожалуйста найти ошибку в запросе.

Пишет что мол ошибка синтаксиса(пропущен оператор) в выражение : «(((Таблица." & переменная1 & ")= Like '*" & переменная2 & "*') AND ((Таблица.Поле1)= " & перПоле1 & ") AND ((Таблица.Поле2)= '" & переменная3 & "'))»
Сто раз проверил – вроде все правильно. А запрос не идет.

Код такой

Private Sub Поиск_Change()

Dim перТоЧоВвели As String
Dim перАктивноеПоле As String
Dim переменная2 As String
Dim переменная1 As Boolean

 переменная2 = Me!Поле2
 перАктивноеПоле = глПерАктивПоле.Name
 If …………………. Then 
    переменная1 = 0
 else
    переменная1 = -1
 end if

 Me!Поиск.RowSource = "SELECT Таблица." & перАктивноеПоле & ",   Таблица.Поле2, Таблица.Поле1 FROM Таблица GROUP BY Таблица." &  перАктивноеПоле & ", Таблица.Поле2, Таблица.Поле1 HAVING (((Таблица.Поле2)='" & переменная2 & "') AND ((Таблица.Поле1)=" & переменная1 & ")) ORDER BY Таблица." & перАктивноеПоле & ";"

End Sub
Спасибо
smi
Дата: 06.09.2005 00:19:42
Извеняюсь за неточность
Пишет что мол ошибка синтаксиса(пропущен оператор) в выражение (((Таблица.Поле2)='" & переменная2 & "') AND ((Таблица.Поле1)=" & переменная1 & "))
smi
Дата: 06.09.2005 00:34:24
Все запутался
Окончательный вариант

Ошибка синтаксиса(пропущен оператор) в выражение : (((Таблица." & перАктивноеПоле & ")= Like '*" & перТоЧоВвели & "*') AND ((Таблица.Поле2)= " & переменная2 & ") AND ((Таблица.Поле1)= '" & переменная1 & "'))
Код такой

Private Sub Поиск_Change()

Dim перТоЧоВвели As String
Dim перАктивноеПоле As String
Dim переменная1 As String
Dim переменная2 As Boolean

переменная1 = Me!Поле1
перАктивноеПоле = глПерАктивПоле.Name
If ………….. Then 
переменная2 = 0
else
переменная2 = -1
end if

 Me!Поиск.RowSource = "SELECT Таблица." & перАктивноеПоле & ", Таблица.Поле2, Таблица.Поле1 FROM Таблица GROUP BY Таблица." & перАктивноеПоле & ", Таблица.Поле2, Таблица.Поле1 HAVING (((Таблица." & перАктивноеПоле & ")= Like '*" & перТоЧоВвели & "*') AND ((Таблица.Поле2)= " & переменная2 & ") AND ((Таблица.Поле1)= '" & переменная1 & "')) ORDER BY Таблица." & перАктивноеПоле & ";"
End sub
igor603
Дата: 06.09.2005 01:00:04
Попробуй " & перАктивноеПоле & " заключить в одинарные кавычки типа

Таблица.'" & перАктивноеПоле & "',
smi
Дата: 06.09.2005 01:06:12
igor603
Попробуй " & перАктивноеПоле & " заключить в одинарные кавычки типа

Таблица.'" & перАктивноеПоле & "',


перАктивноеПоле - это же поле в таблице. Зачем его в кавычки?
igor603
Дата: 06.09.2005 01:32:03
Ну вроде у тебя
Dim перАктивноеПоле As String

Я в таких случаях (когда надо SQL разобрать) делаю на строке точку останова и в отладчике печатаю выражение, в твоем случае

"SELECT Таблица." & перАктивноеПоле & ", Таблица.Поле2, Таблица.Поле1 FROM Таблица GROUP BY Таблица." & перАктивноеПоле & ", Таблица.Поле2, Таблица.Поле1 HAVING (((Таблица." & перАктивноеПоле & ")= Like '*" & перТоЧоВвели & "*') AND ((Таблица.Поле2)= " & переменная2 & ") AND ((Таблица.Поле1)= '" & переменная1 & "')) ORDER BY Таблица." & перАктивноеПоле & ";"
smi
Дата: 06.09.2005 01:41:07
Засада где-то в куске кода:
((Таблица." & перАктивноеПоле & ")= Like '*" & перТоЧоВвели & "*')
Ибо без этого выражения все таботает как надо. А что в нем не так - ?????
Переменная "перТоЧоВвели" определена........ :-(
mds_world
Дата: 06.09.2005 02:23:23
Название поля из "перАктивноеПоле" сответствует правилам именования полей - может быть надо заключить его в квадратные скобки, т.е. так:
((Таблица.[" & перАктивноеПоле & "])= Like '*" & перТоЧоВвели & "*')
smi
Дата: 06.09.2005 10:10:55
Спасибо Всем. Разобрался. Был какой то неведомый науке глюк. Перезагрузил компьютер и все пошло.