Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 754

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Используется Delphi 7 + база Access. Помогите пожалуйста, уже замучился.
Необходимо программно вывести отчет по запросу в Excel, при этом в запросе выборка идет по введенному пользователем параметру. Как это реализовать? Неужели выводить построчно записи на лист Excel?
В Access есть функция экспорта отчета в Excel, но никак не удается ее использовать, чтобы все работало правильно. Нужно, чтобы стандартный Access'овский диалог ввода параметра запроса не появлялся, потому что значение параметра устанавливается созданным мной в Delphi диалогом.
Отчет называется Employees, в базе он уже создан и настроен, и работает. Дело в том, что в Access мне удавалось решить эту задачу при помощи VBA, даже несколькими способами, но при использование этих инструкций в Delphi приводило к различным ошибкам.
Как решить проблему? Буду очень благодарен любой помощи!

Приложение:
  1.  
  2. procedure TEmployeeIDReportDialog.EmployeeIDReportExport;
  3.  
  4. var
  5. AccessApp: _Application;
  6. EmployeeIDExportFileName: String;
  7. begin
  8.  
  9. try
  10. AccessApp := CoAccessApplication.Create;
  11. if AccessApp.Version >= '11' then
  12. AccessApp.AutomationSecurity := 1; //1 = msoAutomationSecurityLow
  13. AccessApp.OpenCurrentDatabase(ExtractFilePath(paramstr(0)) + '\Permits.mdb', False, MainForm.DBPass);
  14. AccessApp.DoCmd.OutputTo(acReport, 'Employees', 'Microsoft Excel (*.xls)',
  15. EmployeeIDExportFileName, True, '', 0);
  16. finally
  17. AccessApp.CloseCurrentDatabase;
  18. AccessApp.Quit(acQuitSaveNone);
  19. end;
  20. end;


SpecDrum Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SpecDrum (статус: Посетитель)
Вопрос отправлен: 22 ноября 2010, 09:52
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 22 ноября 2010, 10:50; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 22 ноября 2010, 10:35 [#1]:

а Вы уверены, что Вы используете базу Access?:) На самом деле то Вы обращаетесь к ней через OLE. Можно ведь напрямую, минуя Access, выбрать записи и положить их куда угодно - хоть в Excel, хоть в свой отчет.

А вот что бы Access не показывал лишних окошек - нужно будет поискать какой нибудь параметр типа silent.
Галочка "подтверждения прочтения" - вселенское зло.
SpecDrum

SpecDrum (статус: Посетитель), 22 ноября 2010, 10:50 [#2]:

Просто хотелось попроще все сделать - сроки поджимают, а в Access'е сделан уже шаблон отчета...
Чую придется мучиться с листом Excel...
"параметр типа silent" не поможет, ведь Access не знает, какой параметр ввел пользователь.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 3 июня 2023, 01:38
Выполнено за 0.02 сек.
Рейтинг@Mail.ru