次のコードがあります。
Dim obj As New Access.Application
obj.OpenCurrentDatabase (CurrentProject.Path & "\Working.mdb")
obj.Run "Routine"
obj.CloseCurrentDatabase
Set obj = Nothing
私が実験している問題は、Access が他のデータベースにフォーカスを設定できないことを知らせるポップアップです。コードからわかるように、別の mdb でサブルーチンを実行したいと考えています。これを達成するための他の方法は高く評価されます。
MS Access 2003 を使用しています。
これは断続的なエラーです。これは 1 か月に 1 回しか実行されないプロダクション コードであるため、再現するのは非常に難しく、現時点では正確なテキストと番号をお伝えすることはできません。これが起こったのは2か月目です。
これは、誰かがこのデータベースまたは他のデータベースで作業しているときに発生する可能性があると思われます。
データフローは、1 つのデータベースで月に 1 回すべての「プロジェクト」を更新し、この情報を他のデータベースで利用できるようにすることです。
おそらく、「Routines」コードの最初の行が原因です: If vbNo = MsgBox("Do you want to update?", vbYesNo, "Update") Then Exit Function End If
MsgBox を使用しない別のサブルーチンを作成します。
この動作を再現できました。これは、呼び出されたデータベースにフォーカスを移動する必要があるときに、ユーザーが最初のデータベースにフォーカス ([ALT]+[TAB]) を設定した場合に発生します。「解決策」は、ユーザーを教育することでした。
これは断続的なエラーです。これは 1 か月に 1 回しか実行されないプロダクション コードであるため、再現するのは非常に難しく、現時点では正確なテキストと番号をお伝えすることはできません。これが起こったのは2か月目です。
これは、誰かがこのデータベースまたは他のデータベースで作業しているときに発生する可能性があると思われます。
データフローは、1 つのデータベースで月に 1 回すべての「プロジェクト」を更新し、この情報を他のデータベースで利用できるようにすることです。
おそらく、「Routines」コードの最初の行が原因です: If vbNo = MsgBox("Do you want to update?", vbYesNo, "Update") Then Exit Function End If
MsgBox を使用しない別のサブルーチンを作成します。
開発データベースでこれを試してみましたが、うまくいきます。これは、他のコードも開発中に正常に動作するため、何の意味もありません。