| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > Передача данных из Excell в таблицу Access |
| Автор: Shuriman 7.12.2004, 06:50 |
| мне тут задали задачку. нужно данные из определенных ячеек Excell перенести в определенную таблицу Access средствами VBA. Фактически вопросов несколько: 1. Как считать значения ячеек таблицы excell. 2. Как открыть для записи файл .mdb для передачи данных. 3. Можно ли будет использовать при этом функциб на добавление, которая описана в одном из модулей базы в Access. |
| Автор: Akina 7.12.2004, 09:11 |
| 1) Cells().Value 2) Jet/ADO/DAO 3) Зачем? |
| Автор: Shuriman 7.12.2004, 09:41 |
| Akina ну есть функция на добавление. данные могут добавляться как из аксесса, непосредственно, так и из excell. а можно поподробнее про первые два пункта? |
| Автор: HuiopHuiop 12.12.2004, 09:35 |
| меня наоборот проблема есть есть база данных написанная на access а надо чтобы определённые таблицы при открытии excel постоянно брались из access как это сделать программно ? |
| Автор: FINANSIST 14.5.2008, 11:40 | ||||||
| Я при написании моделей в Excel пользовался 2 методами, в зависимости от требований (1) Многопользовательская выгрузка из ACCESS в EXCEL без использования технологии D.A.O. Требования: 1) ДАННЫЕ ИЗ БАЗЫ ДОЛЖНЫ ГРУЗИТЬСЯ И ОБНОВЛЯТЬСЯ В НЕОГРАНИЧЕННОЕ КОЛИЧЕСТВО МОДЕЛЕЙ EXCEL 2) ДАННЫЕ ИЗ БАЗЫ ДОЛЖНЫ ГРУЗИТЬСЯ И ОБНОВЛЯТЬСЯ ОДНОВРЕМЕННО ДЛЯ НЕСКОЛЬКИХ ПОЛЬЗОВАТЕЛЕЙ В РЕЖИМЕ ON-LINE 3) ДАННЫЕ ИЗ БАЗЫ ДОЛЖНЫ ГРУЗИТЬСЯ И ОБНОВЛЯТЬСЯ РЕАГИРУЯ НА СОБЫТИЯ В МОДЕЛЯХ EXCEL 4) ДАННЫЕ ИЗ БАЗЫ ДОЛЖНЫ ГРУЗИТЬСЯ И ОБНОВЛЯТЬСЯ ВНЕЗАВИСИМОСТИ ОТ ТЕКУЩЕГО МЕСТА СОХРАНЕНИЯ МОДЕЛЕЙ EXCEL (ЛИБО МЕСТА ПЕРЕМЕЩЕНИЯ МОДЕЛЕЙ EXCEL) КАК НА ЖЁСТКИХ ДИСКАХ, ТАК И В ЛОКАЛЬНЫХ СЕТЯХ 5) ДАННЫЕ ИЗ БАЗЫ ДОЛЖНЫ ГРУЗИТЬСЯ И ОБНОВЛЯТЬСЯ ЗА МИНИМАЛЬНОЕ ВРЕМЯ БЕЗ ВИЗУАЛЬНОГО ОТОБРАЖЕНИЯ ПРОЦЕССА ОБНОВЛЕНИЙ И ДИАЛОГОВЫХ ОКОН 6) ДОЛЖНА СУЩЕСТВОВАТЬ ВОЗМОЖНОСТЬ ПРЕДВАРИТЕЛЬНОЙ ГРУППИРОВКИ,СОРТИРОВКИ ЛИБО ДРУГИХ ДЕЙСТВИЙ С ДАННЫМИ ПЕРЕД ВЫГРУЗКОЙ В МОДЕЛИ 7) ДАННЫЕ ДОЛЖНЫ ЗАГРУЗИТЬСЯ ОДИН РАЗ И ОСТАВАТЬСЯ В ПАМЯТИ МОДЕЛИ, НЕЗАВИСИМО ОТ ТОГО ВИСИТ ДИАЛОГОВАЯ ФОРМА, ИЛИ ОНА УЖЕ ВЫГРУЖЕНА СПРАВКА: Файлы запросов представляют собой текстовые файлы, содержащие сведения об источнике данных. Хранящийся набор сведений об «источнике», служащих для подключения к базе данных. Источник данных может содержать сведения об имени и местоположении сервера баз данных, имени драйвера базы данных, а также данные, которые могут потребоваться для подключения к базе, включая имя сервера, на котором хранятся данные, и информацию о подключении, вводимую при создании источника данных. Файлы запросов позволяют осуществлять доступ к запросам совместно с другими пользователями. Реализованная технология] В модели формируется лист "справочник" для выгрузки данных Данные//Импорт внешних данных//Создать запрос Отключаем мастер отчётов и подключаемся к базе данных Выполняем в Microsoft Query предварительную обработку ( если таковая требуется) Сохраняем запрос и выгружаем данные в справочник Правый клик на данных//Свойства диапозона данных - Обязательна галка на "сохранить определение запроса" - Обязательна галка на "фоновое обновление" - Желательна галка на "включить имена полей" - Выбрать пункт в блоке "Если количество строк в диапозоне изменится:" Выделяем ячейку с первой записью (на строку ниже заголовка) и присваиваем ей имя (напр. "MacroStart") Всвязи с тем что справочник с таким запросом не может быть защищён ( иначе запрос не обновится),мы его скрываем через VBA, чтобы пользователь не мог его отобразить (Properties//xlSheetVeryHidden) Пишем код обновления запроса на события:
Добавлено через 2 минуты и 15 секунд Многопользовательская выгрузка из ACCESS в EXCEL c использованием технологии D.A.O. (Необходимо подключить библиотеку Microsoft DAO 3.6 Object Library !!!!) "Пример1: Есть в Экселе на листе элемент управления ComboBox1 (Список), необходимо внести в него уникальный список контрагентов из БД"
Пример2: Необходимо заполнить таблицу
|
| Автор: bopoha 14.5.2008, 12:40 |
| Очень сильно сомневаюсь, что в первом случае DAO не используется. Может в mdb ссылка и не нужна, а вот для доступа со сторны Excel в Access она понадобиться. Чтобы не приходилось делать recset.MoveLast при открытии набора используется параметр dbOpenSnapshot. По поводу первого варианта - можно готовый пример? |
| Автор: FINANSIST 28.5.2008, 16:32 |
| Ага, лови! |