|
Выдает ошибку: (ADODB.Recordset) | ☑ | ||
---|---|---|---|---|
0
AnyBaz
11.09.13
✎
12:28
|
Сообщение об ошибке: Произошла исключительная ситуация (ADODB.Recordset): Невозможно использование подключения для выполнения операции. Оно закрыто или не допускается в данном контексте.
задача: Из Excel-файла записать данные в справочник 1С. Управляемые формы Код: Лист = Объект.ЛистExcel; СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + ЗагружаемыйФайл + ";"""; Connection = Новый COMОбъект("ADODB.Connection"); Попытка Connection.Open(СтрокаПодключения); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; RecSet = Новый COMОбъект("ADODB.RecordSet"); RecSet.Open(Лист, Connection,,,); RecSet.CommandText = "select * FROM Table1"; RecSet.CommandType = 1; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = RecSet.Execute(); стр =""; Пока RecordSet.EOF() = 0 Цикл для н=0 по Recordset.Fields.Count -1 цикл стр = стр + " " + Recordset.Fields(н).Value; КонецЦикла; Сообщить(стр); стр =""; RecordSet.MoveNext(); КонецЦикла; RecordSet.Close(); Connection.Close(); |
|||
1
ДенисЧ
11.09.13
✎
12:31
|
RecSet.CommandText = "
|SET NOCOUNT ON |select * FROM Table1 |"; |
|||
2
МихаилМ
11.09.13
✎
12:39
|
(1)
"SET NOCOUNT ON" ... ? |
|||
3
shuhard
11.09.13
✎
12:42
|
(0)[ RecSet.CommandText = "select * FROM Table1";]
такой синтаксис для xls не пригоден $ не хватает |
|||
4
МихаилМ
11.09.13
✎
12:44
|
||||
5
AnyBaz
11.09.13
✎
12:44
|
SET NOCOUNT ON
Где ее использовать? |
|||
6
AnyBaz
11.09.13
✎
12:45
|
1С ругается на этот символ $
|
|||
7
shuhard
11.09.13
✎
12:46
|
(6) MyCon = Новый COMОбъект ("ADODB.Connection");
Попытка MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ПутьКфайламБюджета+";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""); Исключение Сообщить("Не удалось открыть файл->"+ПутьКфайламБюджета+" Проверьте путь и тип файла"); возврат; КонецПопытки; MyCat=Новый COMОбъект ("ADOX.Catalog"); MyCat.ActiveConnection = MyCon; ИмяПервойСтраницы=MyCat.Tables.Item(0).Name; //ИмяПервойСтраницы="ОБ ДР$"; MyRst = Новый COMОбъект ("ADODB.Recordset"); MyStr = "select * from ["+ИмяПервойСтраницы+"]"; MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic Пока НЕ MyRst.EOF() Цикл Если СокрЛП(Строка(MyRst.Fields(MyRst.Fields.Item(0).Name).Value))<>"" Тогда НоваяСтрокаТЧ=Статьи.Добавить(); НоваяСтрокаТЧ.Код=СокрЛП(Строка(MyRst.Fields(MyRst.Fields.Item(0).Name).Value)); НоваяСтрокаТЧ.Имя=СокрЛП(Строка(MyRst.Fields(MyRst.Fields.Item(2).Name).Value)); КонецЕсли; MyRst.MoveNext(); КонецЦикла; MyRst.Close(); MyCon.Close(); |
|||
8
AnyBaz
11.09.13
✎
13:00
|
Спасибо всем, буду разбираться далее!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |