Thema: Delphi D6 - A2k Report starten

Einzelnen Beitrag anzeigen

detom

Registriert seit: 13. Mär 2008
16 Beiträge
 
#7

Re: D6 - A2k Report starten

  Alt 18. Mär 2008, 11:09
Zitat von taveuni:
O.k.
Dann mal weiter. Irgendwo in einem anderen Forum hast Du geschrieben das Du einen Fehler bekommst.
Wenn ich Deine Aussage richtig verstanden habe:
Delphi-Quellcode:
try
  Access := GetActiveOleObject('Access.Application');// kommt hier der Fehler?
except
  Access := CreateOleObject('Access.Application');
end;
Falls ja step einfach weiter und das Objekt wird erstellt.
Oder wo genau liegt Dein Problem?
Den Fehler habe ich nicht wegbekommen - ich stell mich mit Delphi wirklich ungeschickt an.
Ich habe jetzt eine andere Variante gefunden und habe jetzt dieses:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
begin

 Access1.OpenCurrentDatabase('C:\wt2_Rep.mdb', false);
 Access1.Visible:=true;
 Access1.DoCmd.OpenReport('rep_Empl_Year', acViewNormal, EmptyParam, EmptyParam);
 Access1.CloseCurrentDatabase;
 Access1.Quit(acQuitSaveAll);

end;
Das funktioniert auch wunderbar, der Report wird gedruckt und fein.
Allerdings habe ich ein Problem - der Report basiert auf einer Kreuztabellenabfrage. Diese ist in der Access DB gespeichert.
Das heißt, dem Report kann ich keine Filterktierien übergeben sondern ich muß der der KreuzQry zugrundeliegenden Qry einen Parameter übergeben.
In Access mache ich das über

Dim qdf as DAO.QueryDef
Dim sql_str_tbl as String

sql_str_tbl="SELECT ... FROM ..."
qdf = CurrentDb.QueryDefs("qyr_EmplByDate")
qdf.SQL = sql_str_tbl
Set qdf = Nothing

Keine Ahnung wie diese Qry von Delphi aus neu formulieren kann

Tom
  Mit Zitat antworten Zitat