レポートを閉じるまで待機させるには?


nemo  2005-08-09 19:45:07  No: 91393

Win2000
VB6.0 SP6
ACCESS 2000
ACCESS 9.0 Object Libraryを参照しています。

VBからACCESSのレポートを表示させ、閉じるまでの間はVBのプログラムを待機させようと試みています。
1週目はSysCmdに"1"が入るので待機できるのですが、終了後にもう一度同じ処理を流すと
レポートが開いているにも関わらずSysCmdに"0"が帰ってきてしまい待機させる事が出来なくなってしまいます。
何故だか判る方、また、もっと良い方法があるという方がいらっしゃいましたら、是非ご教授願いたく思います。
よろしくお願い致します。

------------------------------------------------------------------
Option Explicit
Public CN02 As ADODB.Connection

------------------------------------------------------------------
Public Sub CMD_印刷_Click()

  〜 中略…レポートのソーステーブルを作る処理です 〜

    CN02.Close

    Dim oleAccess As Object

    Set oleAccess = Nothing
    Set oleAccess = CreateObject("Access.Application")
    oleAccess.OpenCurrentDatabase App.Path & "\Temp.mdb", False

    oleAccess.DoCmd.OpenReport "Report", acViewPreview
    oleAccess.DoCmd.Maximize
    oleAccess.Visible = True

    Me.Visible = False
    WaitObjectClose acReport, "RPT_Res"
    Me.Visible = True

    Call DataGridSource '→閉じたコネクションを開き直しています
    Call DataComboFormat

End Sub

------------------------------------------------------------------
Public Sub WaitObjectClose(intObjType As Integer, strObjName As String)

    intObjType = acReport
    strObjName = "Report"

    Do
      DoEvents
    Loop Until SysCmd(acSysCmdGetObjectState, intObjType, strObjName) = 0

End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加