![]() |
![]() |
|
Обращение к Excel с наложенным фильтром ₽ |
☑ | ||
---|---|---|---|---|
0
Barbossa
17.09.07
✎
10:01
|
Нужно обратиться к Экселю с фильтром, наложенным на поле.
Знаю как обратиться к dbf, например: АДО=Новый COMОбъект("ADODB.Connection"); АДО.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Каталог+";Extended Properties=DBASE IV"); РекордСет=Новый COMОбъект("ADODB.RecordSet"); РекордСет.Open("SELECT * FROM [Loreal.DBF] WHERE F6='"+ШтрихКод + "'",АДО,3); Можно подобное сделать в экселе? |
|||
1
Barbossa
17.09.07
✎
10:03
|
Можно, конечно, перегнать Эксель в ДБФ. Но, во-первых, это займет время, а во вторых происходят некоторые глюки с форматом полей (если гнать через Access).
|
|||
2
Barbossa
17.09.07
✎
10:56
|
up
|
|||
3
774816
17.09.07
✎
11:11
|
или Extended Properties меняешь или другое соединение используешь
"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;" PS фильтр молжно устанавливать и через рекодсет РекордСет.Filter="F='" + ШтрихКод + "'" |
|||
4
dk
17.09.07
✎
11:16
|
(0) можно (см. (3)), только там ограничения на первую строку в XLS, т.к. там либо пусто, либо имена колонок должно быть в ячейках.
|
|||
5
Barbossa
17.09.07
✎
11:31
|
(3),(4) Спасибо, буду пробовать.
|
|||
6
Barbossa
17.09.07
✎
11:49
|
Написал так:
СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Путь+";Extended Properties=Excel 8.0"; АДО=Новый COMОбъект("ADODB.Connection"); АДО.Open(СтрокаПодключения); РекордСет=Новый COMОбъект("ADODB.RecordSet"); РекордСет.Open("SELECT * FROM [Loreal] WHERE F='"+ШтрихКод + "'",АДО,3); Что-то не контачит. Ошибка - "Объект Loreal не найден ядром базы Microsoft Jet" Loreal - название листа в файле. Пробовал и другой вариант подключения - (3), тоже не помогло. |
|||
7
Barbossa
17.09.07
✎
12:56
|
может есть у кого-то готовый пример?
|
|||
8
774816
17.09.07
✎
13:10
|
Loreal это лист экселя?
если нет то для эксель баз , лист (имя листа) являеться таблицей по моему что типа этого пишеться $ИмяЛиста |
|||
9
Barbossa
17.09.07
✎
13:29
|
(8) пробовал писать через $ - выскакивает та же ошибка
|
|||
10
774816
17.09.07
✎
13:31
|
а лист с таким названием есть?
а так [$Loreal] |
|||
11
Barbossa
17.09.07
✎
13:38
|
(10) пишу в скобках. Без скобок выходит ошибка - "Ошибка синтаксиса..."
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |