投稿日 | : 2005/08/04(Thu) 00:34 |
投稿者 | : C_Jr |
URL | : |
タイトル | : オートメーションエラーが発生する |
[OS]:Windows98SE(開発・利用)
[VB]:VisualBasic 5.0
[DB]:Access97
お久し振りです。またご質問宜しくお願いしますm(_ _)m
当方、VisualBasic5.0(以下VB5)を使い
Access97で作ったレポートをプリンタに出力させるアプリを作ったのですが
不定期に "オートメーションエラー" というものが発生してしまいます。
(VBのError$関数でエラー内容はわかりました)
このエラー、再現性が全くなくて、たまに出るものなのですが
どなたかエラーが出る理由はわからないでしょうか?
ソースは以下の通り
'=======================================================================
Public Function Ctr_PRINT() as Boolean
Dim S_accObject As Object '//アクセス
Dim S_accReport As Object '//レポート
Dim S_MDB_CLOSE_SW As Boolean '//開いているレポートの有無
'//Accessを開く。
Set S_accObject = CreateObject("Access.Application")
S_accObject.OpenCurrentDatabase "C:\REPORT.MDB"
'//レポートをプリンターに出力する。
S_accObject.DoCmd.OpenReport "R_TEST", acNormal
'//Accessが閉じられるまで待つ。
Do Until S_accObject Is Nothing
DoEvents
'//開いているレポートが存在するかを調べる。
S_MDB_CLOSE_SW = True
For Each S_accReport In S_accObject.Reports
S_MDB_CLOSE_SW = False
Next S_accReport
'//開いているレポートが存在しなかったら、Accessを閉じる。
If S_MDB_CLOSE_SW = True Then
S_accObject.Quit
Set S_accObject = Nothing
End If
Loop
End Function