Имя: Пароль:
1C
1C 7.7
v7: Несоответствие типов данных в выражении условия отбора ADO
0 SeeWorld
 
20.12.15
09:34
Connection.Execute("update [Новинки$] set
{D:\РАБОТА\В РАЗРАБОТКЕ\ВЫГРУЗКА НОМЕНКЛАТУРЫ ДЛЯ САЙТА(УПРОЩЕННАЯ).ERT(179)}: Microsoft JET Database Engine: Несоответствие типов данных в выражении условия отбора.

Не получается обновить данные в эксель файле. По форумам читал, что дело в дате. Пробовал и так и сяк, но не получается обновить эксель файл. Не пойму, где собака зарыта. С ADO начинаю только работать. Может кто инфу по синтаксису запроса подкинет.

Вот код:

СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + СокрЛП(ИмяВыгрузкаГрупп) + ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1;""";
    Connection = СоздатьОбъект("ADODB.Connection");
    Connection.Open(СтрокаПодключения);
    тзНовинки.ВыбратьСтроки();
    Пока тзНовинки.ПолучитьСтроку() = 1 Цикл
        Connection.Execute("update [Новинки$] set
            |F2 = '" + формат(тзНовинки.Дата,"ДДММГГГГ") + "'
            |where F1 = '" + тзНовинки.Код + "'");
    КонецЦикла;
    Connection.Close();
1 hhhh
 
20.12.15
09:56
F2 = #" +  формат(тзНовинки.Дата,"ДДММГГГГ") + "# "
2 SeeWorld
 
20.12.15
10:33
|F2 = #" + формат(тзНовинки.Дата,"ДДММГГГГ") + "#"<<?>>
{D:\РАБОТА\В РАЗРАБОТКЕ\ВЫГРУЗКА НОМЕНКЛАТУРЫ ДЛЯ САЙТА(УПРОЩЕННАЯ).ERT(184)}: Ожидается символ ')'

Ругается)

Попробовал еще так:

F2 = #" + формат(тзНовинки.Дата,"ДДММГГГГ") + "#

Ругается: Несоответствие типов данных в выражении условия отбора.
3 SeeWorld
 
20.12.15
10:35
тзНовинки в колонке "Дата" я задал тип дата, может из-за этого ругается?
4 Это_mike
 
20.12.15
10:42
ДДДММГГГГ
5 SeeWorld
 
20.12.15
10:50
Крутой формат, я такого не знаю:-D
6 Это_mike
 
20.12.15
11:25
(5) это плохо, что не знаете. Спросите у мужика в кепке. Если надо - я или другие желающие  можем продать вам СП....
7 SeeWorld
 
20.12.15
11:40
1с такого формата не понимает.
8 hhhh
 
20.12.15
12:00
отбор - это where вообще-то. Какого вы в дату лезете, она же до where.
9 SeeWorld
 
20.12.15
12:39
Я пытаюсь обновить дату в F2 по коду в F1. Или я не понимаю, как это работает.
10 SeeWorld
 
20.12.15
12:44
Мне дату расположить после?
11 NorthWind
 
20.12.15
12:47
Вообще если это JetSQL, то я бы рекомендовал для даты литерал вида #YYYY/MM/DD#. Ну или воспользоваться параметрами, хотя передать DateTime из семерки, скорее всего, будет секас.
12 hhhh
 
20.12.15
12:51
(10) ошибка  не в дате у вас. А в отборе. Пишет же.
13 SeeWorld
 
20.12.15
13:07
Не обратил внимание. Код имеет тип "Строка" в тзНовинки, в файле экселя коды идентичные. Что же это может быть.
14 hhhh
 
20.12.15
13:18
может числа?
15 SeeWorld
 
20.12.15
13:47
Попробовал загрузить в 1с через ADO эксель файл с выводом типа значения. Оказалось, что там "Число". Ты был прав) Спасибо. Теперь буду думать, как задать тип "Строка" в колонке.
16 SeeWorld
 
20.12.15
15:41
Теперь возникла другая проблема. Все обновляется, но в 1с я задавал дату формата 20.12.2015, а в эксель файле она обновляется на 00.01.1900  20:12:15, т. е. встает на время. Как сделать так, чтобы дата встала как надо?
17 SeeWorld
 
20.12.15
15:59
Не стал мучиться, вогнал дату как строку.
18 NorthWind
 
20.12.15
16:00
(16) см. (11)
19 SeeWorld
 
20.12.15
16:13
YYYY/MM/DD ругается
20 NorthWind
 
20.12.15
16:21
(19) where col=#YYYY/MM/DD#

Так правильно сравнивать с литералом даты на JetSQL
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн