Показать сообщение отдельно
Старый 22.02.2007, 12:12   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
как быстро-быстро насоздавать в Access'е таблицы с импортируемыми данными
Наверное, следует сказать несколько слов о втором продукте в скобках, т.е. об Access. Ибо, думаю, не все до конца представляют, как эффективно воспользоваться именно аксесной составляющей этого "щастья" в виде "импортных" классов.

Мне частенько встречалось мнение (имхо ошибочное), что работать с Access сложно, во всяком случае, "куда сложнее, чем с Excel". Думаю, что основная причина этой "сложности" заключается в том, что перед тем как начать какие-либо манипуляции с данными в Access'е, необходимо сначала создать хотя бы одну таблицу, т.е. контейнер для этих данных (для сравнения: в Excel этот "контейнер" в виде рабочего листа существует сразу, как только вы создадите новую рабочую книгу). А поскольку вручную "париться" с созданием таблиц никому неохота, то Access для текущих повседневных задач востребован как-то существенно меньше, чем тот же Excel.

У меня хорошая новость для "лентяев", не желающих "париться": начиная с версии 2000, в Access доступна очаровательнейшая возможность наибыстрейшего создания таблицы Access из таблицы Excel (лично я не знаю способа быстрее). Способ этот представляет собой обычный, всеми нами любимый "копипаст".

Итак, надо всего лишь:
-- выделить в Excel требуемый диапазон данных в таблице и скопировать его;
-- перейти в Access в открытый mdb-файл и, предварительно щелкнув на закладке "Таблицы" окна базы данных, выполнить команду "Вставить";
-- ответить "Да" или "Нет" на вопрос системы о том, содержит ли первая строка вставляемых данных заголовки полей.

Всё! Далее можно при желаниии подправить типы данных полей, если вы не согласны с результатами автоматического распознавания (которое, кстати, выполняется по пресловутым "первым 8 строкам"). Можно даже поступить так: сначала скопировать лишь несколько строк вместе со строкой заголовков, чтобы создалась таблица, после чего настроить типы полей, удалить эти первоначальные строки и заново скопировать данные уже в настроенную структуру таблицы.


P.S. НА ЗАМЕТКУ: Когда я только начинал пользоваться описанным выше способом переноса данных из Excel в Access, у меня иногда этот способ не срабатывал с выдачей сообщения вида: "The Microsoft Jet database engine cannot open the file '<xls-filename>'. It is already opened exclusively by another user, or you need permission to view its data". Опытным путем было установлено, что это происходит тогда, когда название рабочей книги Excel содержит символы кириллицы: т.е. с "Book1" всё было хорошо, а с "Книга1" - плохо. Сочетание приложений при этом было такое: Excel - 2000 рус. SP3, Access - 2000 рус. SP-3. Не знаю, существует ли более тонкая зависимость от сочетания версии или языка Excel и Access, но, например, в англ. версии Office 2003 вроде всё работает хорошо вне зависисмости от "русскоязычности" имени xls-файла.
Миниатюры
Нажмите на изображение для увеличения
Название: fromXLS_toMDB.jpg
Просмотров: 722
Размер:	106.3 Кб
ID:	2442