Имя: Пароль:
1C
1C 7.7
v7: ADOX.Catalog
,
0 pavlo
 
06.06.12
08:20
Народ, кто нить сталкивался и решал такую проблему?
ADOX.Catalog все работало 2 года, тут ничего вроде не менялось и на тебе, выдает теперь количество листов 0 и все коту под хвост, в екселе есть лист и все там нормально :(

Catalog        = CreateObject("");
Connection    = CreateObject("ADODB.Connection");
СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0;Data source="+СокрЛП(ИмяФайла)+";Extended Properties=""Excel 8.0;Locking Mode=0;HDR=Yes;""";
Connection.Open(СтрокаПодключения);
Catalog.ActiveConnection=Connection;
Сообщить(Catalog.Tables.Count);

и что бы не делал показывает 0 листов и все тут :(
1 shuhard
 
06.06.12
08:21
(0) IMEX=1 попробуй
2 pavlo
 
06.06.12
08:34
пробовал, с ним пишет вообще этот файл типа не найден ядром jet, однако файл есть, полностью открыт для редактирования и свободен, а также все права на него есть.
3 pavlo
 
06.06.12
08:34
даже удалял и другой подсовывал, толку нет
4 shuhard
 
06.06.12
08:40
(2)
(3)
это происходит на одной рабочей станции/на всех
перестали читаться старые файлы/только новые
на рабочей станции ни чего не меняли/установили новый офис(сменили ОС, сменили антивирус)
5 pavlo
 
06.06.12
08:46
(4) ну происходит что на серваке, что на локальной машине подключенной к этой же базе (но база как бы не причем) а ексели разные на машинах, короче везде стало так.
Файлы всегда были xls если ты про это, формируются прайсы каждый день новые, первый идет Excel.Application, а остальные для скорости уже скопировав этот меняются цены через ADO. А чтобы поменять сам понимаешь нужно лист получить которого нет, даже если напрямую указать Лист1 или Лист1$ толку нет, не видит.
ну на серваке ничего не меняли, но там админы рулят, но говорят ничего, разве что сервис паки какие пришли но врядли.
6 pavlo
 
06.06.12
08:50
если ADOX.Catalog не трогать, а сделать

Connection.Open(СтрокаПодключения);
SchemaRecordset=Connection.OpenSchema(20);
  Пока SchemaRecordset.EOF() = 0 Цикл
      // добавляем имя таблицы (листа) в массив
     СписокЛистов.Добавить(SchemaRecordset.Fields("TABLE_NAME").Value);
     // переход на следующую запись SchemaRecordset
     SchemaRecordset.MoveNext();
  КонецЦикла;
СписокЛистов.ВыбратьЗначение(,,,);

то тут тоже пусто
7 pavlo
 
06.06.12
08:54
проверил везде где 2003,2007,2010 ситуация одна и та же
8 pavlo
 
06.06.12
09:11
в примере темы как то сайт порезал
Catalog        = CreateObject("ADOX.Catalog");
9 pavlo
 
06.06.12
10:50
видимо ни у кого не было, или не знают :(
10 pavlo
 
06.06.12
11:56
может кто знает где скачать и как переустановить этот драйвер?