Hallo Thomas,
ich weiß nicht ob Dich eine Lösung noch interessiert.
Ich habe aber mal die folgende Lösung im Netz gefunden,
die auch funktioniert hat. Es gibt aber Probleme, z.B. mit der in
Access festgelegten Zuordnung des Durckers. Diese kann man wohl nicht beeinflussen.
Code von:
http://www.djpate.freeserve.co.uk/Au...StartingAccess }
Code:
procedure TDBModul.printAccessReport(ReportName: String);
const
acViewNormal = $00000000; acViewDesign = $00000001; acViewPreview = $00000002;
acQuitPrompt = $00000000; acQuitSaveAll = $00000001;acQuitSaveNone = $00000002;
var
Access : Variant;
tmpStr : String;
begin
tmpStr := '
Access.Application.8';
if (tmpStr <> '') then begin
try
Access := GetActiveOleObject(tmpStr);
Access.CloseCurrentDatabase;
except
try
Access := CreateOleObject(tmpStr);
except
on
Exception do begin
Hinweis('
Access ist nicht intalliert.'+#13+'Ausdruck nicht möglich');
end;
end;
end;
// Instanz von
Access mit der richtigen Datenbank öffnen und Report drucken
try
tmpStr := 'Datenbankname';
Access.OpenCurrentDatabase(tmpStr,false);
Access.DoCmd.OpenReport( 'ReportName' , acViewNormal, '', '');
except
Hinweis('Der benötigte Bericht: ist nicht vorhanden oder fehlerhaft.');
end;
Access.Quit(acQuitSaveNone);
Access := Unassigned;
end;
end;
Ich finde aber die Reportgeneratoren von Delphi mindestens genauso gut wie die Möglichkeiten in
Access.
Viel Erfolg !
Niels