Delphiから、OLEでACCESSのレポートを印刷するときの話。

PCごとに、印刷出来るレポートを制御したく、
単純に、指定のレポート名があるか、ないかを調べたかった。

まず、acSysCmdGetObjectStateを使う方法。

この場合、
「ファイルが開いていない、存在しない場合に、0を返す」ので、
レポートがあるか、ないか、を調べる目的としては、使えない。

印刷せずに、レポートがあるか、ないかが、知りたい!!

 

ま、2時間ほど、探した結果、見つけた答え。

http://d.hatena.ne.jp/ogohnohito/20140116/p1 より

全レポート情報が引き出せるみたいなので、

これを基に、Delphiのコードを作成

「とりあえず、印刷プレビューしてみて、エラーだったら・・・」
みたいなアホなコードを書かずに、良かった♪

アクセスレポートの存在チェック