|
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
|
может кто знает где скачать и как переустановить этот драйвер?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |