DelphiでMicrosoft Accessを実行する

Delphi7でTAccessApplicationコンポーネントを使用してMicrosoft Accessを実行する。

Delphi7のインストール時にOfficeのバージョンを選択してコンポーネントをインストールするので、そのバージョンのAccessを実行できる。

//Accessを起動
AccessApp.Connect;
//可視化する
AccessApp.Visible := True;
//MDBを開く  (引数の2番目は排他モードの指定 true:排他 false:共有)
AccessApp.OpenCurrentDatabase('DelphiSample.mdb',true);

//Accessを操作する
//マクロを実行する場合
AccessApp.DoCmd.RunMacro('マクロ1',1,'');

//レポートを印刷する場合
AccessApp.DoCmd.OpenReport('レポート1',acViewNormal,'','');
//レポートのオープンモード指定には下記の定数が定義されている
//acViewDesign //デザインモードで開く
//acViewNormal //印刷する
//acViewPreview //プレビューする


//Accessを終了する
AccessApp.Quit(acQuitSaveNone);
//終了オプションで未保存オブジェクトの扱いを指定する。
//下記の定数が定義されている
//acQuitPrompt = $00000000; //保存するか確認ダイアログを表示する
//acQuitSaveAll = $00000001; //全部保存して終了する
//acQuitSaveNone = $00000002; //全部保存しないで終了する

//Accessとの接続終了する
//これを行わないでもう一度ConnectしようとするとRPCサーバーエラーになる
AccessApp.Disconnect;



サンプルソース
DelphiSample.mdbを開き、マクロ[macSample]を1回実行し、レポート[rptSample]を印刷してAccessを終了します。
(このサンプル程度ならAccess2000用のTAccessApplicationコンポーネントを使っていても、Access2007で実行できる)
unit sampleMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleServer, Access2000, StdCtrls;

type
  TForm1 = class(TForm)
    btnAccess: TButton;
    AccessApp: TAccessApplication;
    procedure btnAccessClick(Sender: TObject);
    private
     { Private 宣言 }
    public
     { Public 宣言 }
    end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnAccessClick(Sender: TObject);
begin
   AccessApp.Connect;
  try
    AccessApp.Visible := True;
    AccessApp.OpenCurrentDatabase('DelphiSample.mdb',true);
    AccessApp.DoCmd.RunMacro('macSample',1,'');
    AccessApp.DoCmd.OpenReport('rptSample',acViewNormal,'','');

  finally
    AccessApp.Quit(acQuitSaveNone);
    AccessApp.Disconnect;
  end;

end;

end.

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック