|
Вопрос # 4 754/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Используется Delphi 7 + база Access. Помогите пожалуйста, уже замучился.
Необходимо программно вывести отчет по запросу в Excel, при этом в запросе выборка идет по введенному пользователем параметру. Как это реализовать? Неужели выводить построчно записи на лист Excel?
В Access есть функция экспорта отчета в Excel, но никак не удается ее использовать, чтобы все работало правильно. Нужно, чтобы стандартный Access'овский диалог ввода параметра запроса не появлялся, потому что значение параметра устанавливается созданным мной в Delphi диалогом.
Отчет называется Employees, в базе он уже создан и настроен, и работает. Дело в том, что в Access мне удавалось решить эту задачу при помощи VBA, даже несколькими способами, но при использование этих инструкций в Delphi приводило к различным ошибкам.
Как решить проблему? Буду очень благодарен любой помощи!
Приложение: Переключить в обычный режим-
- procedure TEmployeeIDReportDialog.EmployeeIDReportExport;
-
- var
- AccessApp: _Application;
- EmployeeIDExportFileName: String;
- begin
-
- try
- AccessApp := CoAccessApplication.Create;
- if AccessApp.Version >= '11' then
- AccessApp.AutomationSecurity := 1; //1 = msoAutomationSecurityLow
- AccessApp.OpenCurrentDatabase(ExtractFilePath(paramstr(0)) + '\Permits.mdb', False,
MainForm.DBPass);
- AccessApp.DoCmd.OutputTo(acReport, 'Employees', 'Microsoft Excel (*.xls)',
- EmployeeIDExportFileName, True, '', 0);
- finally
- AccessApp.CloseCurrentDatabase;
- AccessApp.Quit(acQuitSaveNone);
- end;
- end;
 |
Вопрос задал: SpecDrum (статус: Посетитель)
Вопрос отправлен: 22 ноября 2010, 09:52
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 22 ноября 2010, 10:50; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 22 ноября 2010, 10:35 [#1]:
а Вы уверены, что Вы используете базу Access? На самом деле то Вы обращаетесь к ней через OLE. Можно ведь напрямую, минуя Access, выбрать записи и положить их куда угодно - хоть в Excel, хоть в свой отчет.
А вот что бы Access не показывал лишних окошек - нужно будет поискать какой нибудь параметр типа silent.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
SpecDrum (статус: Посетитель), 22 ноября 2010, 10:50 [#2]:
Просто хотелось попроще все сделать - сроки поджимают, а в Access'е сделан уже шаблон отчета...
Чую придется мучиться с листом Excel...
"параметр типа silent" не поможет, ведь Access не знает, какой параметр ввел пользователь.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|