Имя: Пароль:
1C
 
импорт данных в Excel с помощью ADO

0 GANR
 
06.02.09
12:33
Пытаюсь с помощью нижеуказанного кода подключиться к Excel - документу.

Процедура КнопкаВыполнитьНажатие(Кнопка)
   db=Новый COMОбъект("ADODB.Connection");
   rs=Новый COMОбъект("ADODB.Recordset");

   Путь="E:\Руслан\Письма\Дистрибьюторы\База\Проба.xls";    
   
   db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+СокрЛП(Путь)+";Extended Properties=""Excel 8.0;IMEX=1;""";

   db.Open();
   rs.ActiveConnection = db;
   rs.CursorType = 3;
   rs.LockType = 2;
   rs.Source = "Select * from [Лист1$]";
   
     rs.Open();    
КонецПроцедуры

При выполнении процедура мне пишет "Ошибка при вызове метода контекста Open: произошла исключительная ситуация (Microsoft Jet Database Enjine): Не был задан текст команды для командного объекта". Ошибка происходит в строке db.Open(). Подскажите, что я делаю не так?
1 shuhard
 
06.02.09
12:34
(0) rs.Source = "Select * from [Лист1$]" ?
2 GANR
 
06.02.09
12:35
Да,да... А как надо?
3 GANR
 
06.02.09
12:37
Спутал не db.Open(), а rs.Open()... точно
4 shuhard
 
06.02.09
12:39
(1) +
MyCon = Новый COMОбъект ("ADODB.Connection");
MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\111.xls;Extended Properties=""Excel 8.0;HDR=No;IMEX=1""");
MyRst = Новый COMОбъект ("ADODB.Recordset");
MyStr = "select * from [Лист1$]";
MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic
5 GANR
 
06.02.09
12:41
Так-так, щас попробую...
6 GANR
 
06.02.09
12:45
Таак... уже не ругается... Спасибо.