Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 14:47   #1
mrs.petrushina
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 16
По умолчанию Отчет из access в шаблон xltm при открытой базе

Добрый день!
Формирую сводную таблицу в шаблоне excel с поддержкой макросов на основе данных базы access. Шаблон замечательно работает.
Но! Хочется, чтобы шаблон запускался из той же базы access по кнопочке. А он при открытой базе access ругается.
Открываю шаблон так:

Sub CreateReport()
Dim objXLApp As Object
Dim objXLBook As Object
Set objXLApp = CreateObject("Excel.Application")
Set objXLBook = objXLApp.Workbooks.Open("C:\Users\О лег\Desktop\Ежедневный_СМС_отчет.xl tm")
objXLApp.Application.Visible = True
End Sub

Коллеги, как сдеать, чтобы отчет формировался и при открытой базе?
mrs.petrushina вне форума Ответить с цитированием
Старый 04.04.2011, 07:18   #2
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

А на какой строке кода начинает ругаться? Мне последняя строка процедуры не нравится.... получается Application.Application.Visible.
если пришлете на ящик - посмотрю.
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 04.04.2011, 07:54   #3
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Здравствуйте. Можно попробовать так:
Код:
        Dim strdot As String
        strdot = "C:\Users\О лег\Desktop\Ежедневный_СМС_отчет.xl tm"
        Set objXLBook = CreateObject("Excel.application")
        objXLBook.Workbooks.Open strdot
'...... - команды заполнения шаблона данными
        objXLBook.Visible = True
Swatch вне форума Ответить с цитированием
Старый 04.04.2011, 07:54   #4
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

подозрение на пробел в расширении

Код:
едневный_СМС_отчет.xl tm")
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 04.04.2011, 07:55   #5
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

да и пробел там ни к чему
Swatch вне форума Ответить с цитированием
Старый 04.04.2011, 11:31   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Я бы так сделал


Код:
Sub CreateReport()
 Dim app As Excel.Application
 Dim strDOT As String
 '+++++++++++++++++++++++++++++++++++++++++
 'если шаблон в одной папке с access
   ' With Application.CurrentProject
    ' strDOT = .Path & "\" & "Ежедневный_СМС_отчет.xltm"
   ' End With
'++++++++++++++++++++++++++++++++++++++++++
strDOT = "C:\Users\Олег\Desktop\Ежедневный_СМС_отчет.xltm"
Set app = New Excel.Application
app.Visible = True
app.Workbooks.Add strDOT
With app.ActiveWorkbook.Sheets(1)
'Заполнение шаблона
'.[a1]="Привет" ' примерно так :)
End With
End Sub
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 04.04.2011 в 11:34.
R Dmitry вне форума Ответить с цитированием
Старый 04.04.2011, 20:45   #7
mrs.petrushina
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 16
По умолчанию

R Dmitry, в том-то и дело, что заполнение шаблона прооисходит макросами в самом файле xltm, подтягивает access базу как источник и там формирую сводную...
видимо так нельзя!
пробую теперь из access сразу сводную в excel делать, ну ты видел мой вопрос
mrs.petrushina вне форума Ответить с цитированием
Старый 04.04.2011, 23:35   #8
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от mrs.petrushina Посмотреть сообщение
R Dmitry, в том-то и дело, что заполнение шаблона прооисходит макросами в самом файле xltm, подтягивает access базу как источник и там формирую сводную...
видимо так нельзя!
пробую теперь из access сразу сводную в excel делать, ну ты видел мой вопрос
Просмотрев все темы и вопросы предложу следующее,
0______
делаем в шаблоне excel, сводную из данных, очищаем данные, сохраняем
В access
1. Отбираем данные в рекордсет
2.преобразуем в массив
3. Открываем excel шаблон
5.выгружаем массив в excel
6.обновляем сводную

7. радуемся
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 05.04.2011, 00:14   #9
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

смотрите. макрос в модуле
access + excel, должны быть в одной папке
Вложения
Тип файла: zip sms.zip (34.0 Кб, 31 просмотров)
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 05.04.2011 в 01:14.
R Dmitry вне форума Ответить с цитированием
Старый 05.04.2011, 10:26   #10
mrs.petrushina
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 16
По умолчанию

R Dmitry, работает, кртуо!!!!! спасибо огромное!
может посмотришь мой второй варинт решения проблемы (http://programmersforum.ru/showthread.php?t=145385), т.к. хотелось бы еще от исходных данных избавиться, мне только сводные в результатном файле нужны. Отчетов у меня порядка десятка, поэтому технология для меня важна.
mrs.petrushina вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отчет access RS219 Microsoft Office Access 2 18.08.2010 09:10
Отчет MS Access в Delphi Mollerat БД в Delphi 2 23.05.2010 19:42
[REQ] Из Access в шаблон Excel Malaec Microsoft Office Access 2 24.07.2009 06:54
Отчет в Access Anutk@ Помощь студентам 1 03.03.2009 14:30