Страницы: 1
RSS
Автоматическое копирование из Access в XLS
 
Здравствуйте! Нужна помощь.    
Подскажите, как сделать так, чтобы с заданной периодичностью (например раз в сутки) автоматически запускался акцесс, открывались в нем два файла (DB_1.mdb и DB_2.mdb), в этих файлах открывались определенные таблицы (например Physical_param из DB_1 и Config из DB_2 ) и данные из этих таблиц копировались в файл XLS, на один лист (причем таблицы не одна под другой, а две таблицы расположены горизонтально относительно друг друга).  
Спасибо.
 
а что уже пытались сделать сами?
 
{quote}{login=slav}{date=21.12.2010 04:20}{thema=}{post}а что уже пытались сделать сами?{/post}{/quote}  
 
Я даже не знаю с чего начать. (стыдно конечно)    
Предполагаю что задачу можно разбить на более простые:  
1- автоматический запуск акцесса  
2- открытие необходимых таблиц  
3- создание файла эксель  
4- копирование из акцесса в эксель  
5- сохранение файла эксель  
не знаю при помощи каких инструментов можно настроить автоматический запуск программы и открытие необходимого документа в ней.
 
{quote}{login=Yan}{date=21.12.2010 04:11}{thema=Автоматическое копирование из Access в XLS}{post}Здравствуйте! Нужна помощь...{/post}{/quote}  
Всё вами описанное дОлжно делать в Access'e, включая и последнюю операцию - экспорт сведенных запросом таблиц на один лист XL. И поэтому вам прямая дорога на форум по Access с уклоном на VBA... ;-)  
19415
 
{quote}{login=Z}{date=21.12.2010 04:46}{thema=Re: Автоматическое копирование из Access в XLS}{post}{quote}{login=Yan}{date=21.12.2010 04:11}{thema=Автоматическое копирование из Access в XLS}{post}Здравствуйте! Нужна помощь...{/post}{/quote}  
Всё вами описанное дОлжно делать в Access'e, включая и последнюю операцию - экспорт сведенных запросом таблиц на один лист XL. И поэтому вам прямая дорога на форум по Access с уклоном на VBA... ;-)  
19415{/post}{/quote}  
 
Спасибо за направление. Попробую там поспрашивать.
 
можно конечно и из екселя запустить, но он должен быть всегда открыт.  
Но Z прав основной код относиться к access, я бы Вас отправил в DAO....  
access,открывать вообще не надо, а только подключиться к нему,  
состряпать sql запрос,открыть recordset, выгрузить данные из него на лист в нужное место, закрыть recordset, закрыть подключение, сохранить файл  
Я бы так наверное сделал
Спасибо
 
все можно сделать в Excel.  
с макросами или без, смотря на хотелки.  
Для начала поиграйте в Excel 2007 со следующими инсрументами  
Данные - Получить внешние данные - из Access  
 
там можно указать откуда и какую таблицу брать, куда на лист Excel вставлять, как часто обновлять.  
если данный вариант не устраивает, то нужно писать небольшие макросы, вводить параметры запроса и т.д.  
 
P.S.  
77767
 
{quote}{login=Z}{date=21.12.2010 04:46}{thema=Re: Автоматическое копирование из Access в XLS}{post}{quote}{login=Yan}{date=21.12.2010 04:11}{thema=Автоматическое копирование из Access в XLS}{post}Здравствуйте! Нужна помощь...{/post}{/quote}  
Всё вами описанное дОлжно делать в Access'e, включая и последнюю операцию - экспорт сведенных запросом таблиц на один лист XL. И поэтому вам прямая дорога на форум по Access с уклоном на VBA... ;-)  
19415{/post}{/quote}  
 
Не путайте человека, все можно сделать в Exсel и при отсутствии Access. Для этого и существует Access DB Engine.
 
{quote}{login=slav}{date=21.12.2010 05:11}{thema=}{post}все можно сделать в Excel.  
с макросами или без, смотря на хотелки.  
Для начала поиграйте в Excel 2007 со следующими инсрументами  
Данные - Получить внешние данные - из Access  
 
там можно указать откуда и какую таблицу брать, куда на лист Excel вставлять, как часто обновлять.  
если данный вариант не устраивает, то нужно писать небольшие макросы, вводить параметры запроса и т.д.  
 
 
P.S.  
77767{/post}{/quote}  
 
Получилось все сделать через Exel 10. Пока еще только не нашел как сделать чтоб Exel автоматически запустился и выполнил этот макрос. Может подскажите?
 
а вы поищите на форуме запуск макроса по времени
Спасибо
 
Я думаю тут шедулер винды подключать нужно. В нём прописать запуск Экселевского файла, в котором на открытие поставить импорт данных.  
Или запускать скрипт vbs, в котором прописать открытие xls и запуск макроса.
 
Этот текст сохраняете как *.vbs, кладёте в одну паку с нужным файлом. Только пропишите свой файл и имя своего макроса.  
В данном коде используется путь  к скрипту, который лежит в одной папке с запускаемым xls, но можно просто прописать полный путь к файлу.  
 
Set objFSO = CreateObject("Scripting.FileSystemObject")    
Set objShellApp = CreateObject("Shell.Application")    
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName)    
Set objExcel = CreateObject("Excel.Application"): Set wb = objExcel.Workbooks.Open (ExcelPath & "\filename.xls")  
objExcel.Visible = True  
objExcel.Application.OnTime Now, "macroname"  
Set objExcel = Nothing
 
{quote}{login=}{date=21.12.2010 06:24}{thema=Re: }{post}{quote}{login=slav}{date=21.12.2010 05:11}{thema=}{post}все можно сделать в Excel.  
с макросами или без, смотря на хотелки.  
Для начала поиграйте в Excel 2007 со следующими инсрументами  
Данные - Получить внешние данные - из Access  
 
там можно указать откуда и какую таблицу брать, куда на лист Excel вставлять, как часто обновлять.  
если данный вариант не устраивает, то нужно писать небольшие макросы, вводить параметры запроса и т.д.  
 
 
P.S.  
77767{/post}{/quote}  
 
Получилось все сделать через Exel 10. Пока еще только не нашел как сделать чтоб Exel автоматически запустился и выполнил этот макрос. Может подскажите?{/post}{/quote}  
автоматический запуск средствами операционной системы (диспетчером задач)-погуглите.  
В свойствах настроенных соединений должна быть настройка автоматического обновления данных при открытии книги.
 
Дык, это к чему? Hugo ответил исчерпывающе.    
 
-=32224=-
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=22.12.2010 10:00}{thema=}{post}Дык, это к чему? Hugo ответил исчерпывающе.    
 
-=32224=-{/post}{/quote}  
со скриптом vbs могут быть проблемы в виде неустановленной службы visual basic чего-то там...
 
Так это можно сперва проверить - одна строка, сохранённая как vbs:  
 
msgbox 1  
 
Честно говоря, службу такую не нашёл (планировщик только нашёл в службах), но Windows Script Host действительно можно отключить через реестр.
 
{quote}{login=Hugo}{date=22.12.2010 11:36}{thema=}{post}Так это можно сперва проверить - одна строка, сохранённая как vbs:  
 
msgbox 1  
 
Честно говоря, службу такую не нашёл (планировщик только нашёл в службах), но Windows Script Host действительно можно отключить через реестр.{/post}{/quote}  
да-да-да  
он самый Windows Script Host, по умолчанию он обычно выключен.
 
"по умолчанию он обычно выключен" - я думаю, что наоборот. Я его нигде не включал - всюду работает.
 
Уж кому, а Игорю(Hugo) верю! Ну  никогда не  писал зряшных сообщений-!  
 
58508
Я сам - дурнее всякого примера! ...
Страницы: 1
Читают тему
Наверх