Печать отчёта
Если можно получить доступ к Access через OLE (по типу, Excel.Application), то, думаю, проблема решена.
acViewNormal = $00000000;
acViewDesign = $00000001;
acViewPreview = $00000002;
acQuitPrompt = $00000000;
acQuitSaveAll = $00000001;
acQuitSaveNone = $00000002;
var
Access: Variant;
begin
// Открываем Access
try
Access:=GetActiveOleObject('Access.Application');
except
Access:=CreateOleObject('Access.Application');
end;
Access.Visible := True;
Access.OpenCurrentDatabase('Payments.mdb', True);
Access.DoCmd.OpenReport('rDone', acViewPreview, EmptyParam, EmptyParam);
Access.CloseCurrentDatabase;
Access.Quit(acQuitSaveAll);
end;
Ты это имеешь ввиду?
Ты используешь доступ к самой БД. В таком случае вызвать отчет Access не получится.
Я предложил воспользоваться COM-сервером Access. Алгоритм, примерно, такой:
1. Создаешь сервер CreateOleObject( 'Access.Application' )
2. Открываешь базу данных
3. Формируешь отчет
4. Уничтожаешь сервер
Как выполняются пункты 2..4 не знаю, надо ковыряться в VBA самого Access'а.
1. Данные для отчета можно занести в специально отведенную таблицу в этой же БД.
2. Вообще, если создавать программу с БД Access средствами Delphi, то, ИМХО, и отчет надо создавать в Delphi, чтобы ПО было независимо от наличия на компьютере пользователя СУБД Access.
А насчёт второго, не спорю, отчёт лучше создавать в Delphi, (ты имеешь ввиду QuickReport и RaveReport?) но в Access'е проще.
Насчёт созданного отчёта ситуация такая:
Есть две таблицы. Из них опроеделённые данные жахаются в 2 запроса. А уже на основе тех запросов создаётся автоматическм отчёт.
QuickReport... Попробовать можно, но я читал книжицу про неё. В палитре компонентов должна быть вкладка Qreport. А у меня её нет. Если кто знает где эти компоненты скачать можно, скажите плз.
А RaveReport я ещё не осиливал.
А RaveReport я ещё не осиливал.
В Delphi 7 компонентов QuickReport уже нет. Я пользуюсь FastReport, удобнее и функциональнее пока что не встречал.