Имя: Пароль:
1C
1С v8
Запрос к MDB через АДО
0 varyag
 
02.02.16
11:55
Всем привет!

В отладчике смотрю текст запроса(он формируется динамически), выглядит так:

SELECT TOP 1 [Page_1].*
FROM [Page_1]
WHERE (([Page_1].[Article]) = 84 920)


Page_1  - имя таблицы
Article - имя колонки

вываливается ошибка:
{Справочник.ПрайсЛистыКонтрагентов.МодульОбъекта(1782)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Ошибка синтаксиса (пропущен оператор) в выражении запроса '(([Page_1].[Article]) = 84 920)'.

Проблема подразумеваю в имени колонки, хотя уже пробовал в кавычках написать. Подскажите куда копать?
1 shuhard
 
02.02.16
11:58
(0) 84 920 - пробел лишний
2 HardBall
 
02.02.16
12:02
'84920' если строка
3 varyag
 
02.02.16
12:17
(1) Пробел - т.к. число. Щас попробую формат сделать
4 varyag
 
02.02.16
12:17
(2) как строку не находит.
5 varyag
 
02.02.16
12:18
(1) Спасибо - действительно из за пробелов этих ошибка была. А ведь код типовой - Рарус Альфа-Авто. Столько косяков там уже встречал.
6 varyag
 
02.02.16
12:19
|SELECT TOP 1 "+ИмяТаблицы+".*
                |FROM "+ИмяТаблицы+"
                |WHERE (("+ИмяТаблицы+".["+ИмяПоля+"]) = "+Формат(Артикул,"ЧГ=0")+")";

так работает
7 Serginio1
 
02.02.16
12:21
Проще XmlСтрока
8 varyag
 
02.02.16
12:33
(7) спасибо) не додумался
9 varyag
 
03.02.16
11:44
А теперь обратная задача -  ТЗ Сохранить в MDB. Можно как то без цикла?