Имя: Пароль:
1C
 
Excel через ADO
0 twise
 
01.09.10
10:04
Подскажите, плз, что делаю не так:

   АДО_Коннект=Новый COMОбъект("ADODB.Connection");
   АДО_Коннект.ConnectionString =  "Provider=Microsoft.Jet.OLEDB.4.0;
   |Data Source="+ПолноеИмяФайла+";
   |Mode=ReadWrite;
   |Extended Properties=""Excel 8.0;
   |HDR=No;
   |FirstRowHasNames=0;
   |IMEX=1;""";

   АДО_Коннект.Open();

   АДО_Рекорд=Новый COMОбъект("ADODB.Recordset");
   АДО_Рекорд.ActiveConnection = АДО_Коннект;
   АДО_Рекорд.CursorType = 3;
   АДО_Рекорд.LockType = 3;
   АДО_Рекорд.Source = "Select * from ["+Лист+"]";
   АДО_Рекорд.Open();

Пишет ошибку:
Произошла исключительная ситуация (Microsoft JET Database Engine): Не был задан текст команды для командного объекта.

И после этой строчки АДО_Рекорд.Source = "Select * from ["+Лист+"]";
в отлаюдичке АДО_Рекорд.Source = ""
1 Maxus43
 
01.09.10
10:06
СтрокаСоединения = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + СокрЛП(ИмяФайла) + " ;Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""";
   Connection = Новый COMОбъект("ADODB.Connection");
   Connection.ConnectionString =  СтрокаСоединения;
   
   Попытка
       Connection.Open();
   Исключение
       Сообщить ("НИхт подлючение!" );
       Возврат
   КонецПопытки;
   
   RS = Новый COMОбъект("ADODB.Recordset");
   
   ТекстЗапроса =
   "SELECT
   |    Лист.*
   |FROM
   |    [" + ИмяЛиста + "$] as Лист";
   
   Попытка
       RS.Open(ТекстЗапроса, Connection);
   Исключение
       Сообщить ("Есть косяки, курите мануал");
   КонецПопытки;
2 VitaliySm
 
01.09.10
10:10
http://infostart.ru/public/64883/
посмотри статью, там код неплохо комментирован.
3 twise
 
01.09.10
10:11
(1)(2) спс, попробую
4 shuhard
 
01.09.10
10:22
(0) FirstRowHasNames - в ADODB не стоит применять
5 twise
 
01.09.10
10:26
Всем спасибо...все получилось