Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: TransferSpreadsheet и несмежные диапазоны
 
 автор: hm8   (13.09.2007 в 12:04)   личное сообщение
 
 

Собственно нужно закачать 2 колонки с определенного листа. Попытки вызвать сабж c параметром Range "Лист!B13:B229;Лист!E13:E229" не увенчались успехом. Подскажите, пожалуйста, как осуществить операцию, не прибегая к другим методам загрузки.
Заранее спасибо!

  Ответить  
 
 автор: Анатолий (Киев)   (14.09.2007 в 12:27)   личное сообщение
 
 

Видимо тка не получится. Я присвоил такому диапазону имя и попытался выполнить импорт. Это имя Access2000 не видит.
А что вам мешает вынести данные на другой лист и расположить колонки рядом?

  Ответить  
 
 автор: hm8   (17.09.2007 в 10:08)   личное сообщение
 
 

Спасибо за ответ!
В общем случае эксель идет залоченным и добавлять листы нельзя.
Буду пробовать через АДО, если кто подскажет как - большое спасибо!

  Ответить  
 
 автор: Анатолий (Киев)   (17.09.2007 в 14:20)   личное сообщение
 
 

Предположим, есть файл C:\Book1.xls с листом Sheet1, на котором нас интересует диапазон
B3:E14.
Такой запрос в Access-e выводит весь диапазон, принимая верхнюю строку за имена полей:
SELECT * FROM [Sheet1$B3:E14] IN 'C:\Book1.xls'[Excel 5.0;HDR=YES;IMEX=1];
Такой запрос выводит 1-ю строку как 1-ю запись:
SELECT * FROM [Sheet1$B3:E14] IN 'C:\Book1.xls'[Excel 5.0;HDR=NO;IMEX=1];
В конструкторе запроса вы можете выбрать только требуемые поля, а также легко преобрзовать его в запрос на добавление или создание таблицы.

  Ответить  
 
 автор: hm8   (18.09.2007 в 16:49)   личное сообщение
 
 

Круто, спасибо!
Это, так понимаю, используется Джет с ExtendedProperties="Excel хх".
А что значит IMEX ? Есть еще какие-либо параметры?

Эх, кабы он еще [Sheet1$B3:E14;Sheet1$F3:G14] понимал, цены б ему не было...

Еще раз спасибо!

  Ответить  
 
 автор: Анатолий (Киев)   (18.09.2007 в 18:51)   личное сообщение
 
 

IMEX, это импорт/экспорт. IMEX=1 - только импорт (чтение) из файла. 2 - и то, и другое. Если вам не нужно что-либо менять в источнике, то лучше 1. В связанных таблицах всегда 2.

>Эх, кабы он еще [Sheet1$B3:E14;Sheet1$F3:G14] понимал, цены б ему не было...
А зачем? Sheet1$B3:G14 - это таблица. Вы выбираете в запросе нужные поля, и всё.
Удачи!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList