Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
|
|
Förhandsgranska/skriv ut en Accessrapport
|
Kategori: Objekt/ActiveX
Inlagt: 2004-12-28
Läst: 1250
Inlagt av: Staffan Berg
|
Beskrivning |
Microsoft Access är ofta rosad över deras utmärkta rapportgenerator. Här följer ett exempel för att använda Accessrapporter från ditt Delphiprogram. Nackdelen med att använda Accessrapporter på detta vis är naturligtvis att Microsoft Access måste vara installerad på destinationsdatorn.
|
Kod |
var Access: Variant; begin //open the Access application try Access := GetActiveOleObject('Access.Application'); except Access := CreateOleObject('Access.Application'); end; Access.Visible := True; //open the database //The second parameter specifies whether you want to open the database in Exclusive mode Access.OpenCurrentDatabase('C:\My Documents\Books.mdb', True); //open the report //The value for the second parameter should be one of // acViewDesign, acViewNormal, or acViewPreview. //acViewNormal, which is the //default, prints the report immediately. If you are not using the type library, you can define these values like this: const acViewNormal = $00000000; acViewDesign = $00000001; acViewPreview = $00000002; //The third parameter is for the name of a query in the current //database. The fourth parameter is for a SQL WHERE clause - the string must be valid SQL, minus the WHERE. Access.DoCmd.OpenReport('Titles by Author', acViewPreview, EmptyParam, EmptyParam); <...> //close the database Access.CloseCurrentDatabase; //close the Access application //const //acQuitPrompt = $00000000; //acQuitSaveAll = $00000001; //acQuitSaveNone = $00000002;} Access.Quit(acQuitSaveAll); end;
|
|
|