|
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
|
может кто знает где скачать и как переустановить этот драйвер?
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой