|
Microsoft ACE OLEDB 12.0. Нужно записывать в *.xlsx файл.Проблема с открытием | ☑ | ||
|---|---|---|---|---|
|
0
aka AMIGO
15.07.15
✎
09:34
|
Код такой:
MyCon = Новый COMОбъект ("ADODB.Connection"); MyCon.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Путь+";Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""); MyRst = Новый COMОбъект ("ADODB.Recordset"); MyStr = "select from [Лист$1]"; MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic Авост на последней команде кода: {Форма.Форма.Форма(62)}: Ошибка при вызове метода контекста (Open) MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic по причине: Произошла исключительная ситуация (Microsoft Office Access Database Engine): The Microsoft Office Access database engine could not find the object 'Лист$1'. Make sure the object exists and that you spell its name and the path name correctly.* Пользовался сведениями с сайта: http://www.connectionstrings.com/excel/ Как отремонтировать строку, или что почитать для исправления? |
|||
|
1
ДенисЧ
15.07.15
✎
09:35
|
А если Sheet$1 ? ))
|
|||
|
2
aka AMIGO
15.07.15
✎
09:36
|
Покривился код в сабже. Исправляю:
MyCon = Новый COMОбъект ("ADODB.Connection"); MyCon.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Путь+";Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""); MyRst = Новый COMОбъект ("ADODB.Recordset"); MyStr = "select * from [Лист$1]"; MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic (1) Пробую!.. |
|||
|
3
aka AMIGO
15.07.15
✎
09:37
|
(1)нет, та-же ошибка.. :(
|
|||
|
4
Бубка Гоп
15.07.15
✎
09:37
|
Лист1$ ?
|
|||
|
5
aka AMIGO
15.07.15
✎
09:38
|
(4) пробую :)
|
|||
|
6
aka AMIGO
15.07.15
✎
09:40
|
тоже самое, и с Лист и с Sheet.. :(
Ведь пошерстил мисту по похожим проблемам.. |
|||
|
7
Бубка Гоп
15.07.15
✎
09:46
|
странно. у меня код
Лист = ИмяЛиста+"$"; СтрЗапроса = "SELECT * FROM [" + Лист+ "]"; RecordSet = Об_Конект.Execute(СтрЗапроса); работает исправно. может там какое то имя задано листу? |
|||
|
8
aka AMIGO
15.07.15
✎
09:56
|
(7) хм.. задано..
Я думал, "1" - синоним, первый лист-то.. имя первого листа MKD Стало быть MyStr = "select * from [MKD$]"; |
|||
|
9
aka AMIGO
15.07.15
✎
09:57
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |