スキップしてメイン コンテンツへ

 none
C#からAccessのDoCmd.SetWarningsを実行するとたまに「コマンドまたはアクション 'メッセージの設定' は無効です。」が出る。 RRS feed

  • 質問

  • OS:Windows10

    言語:C#

    VisualStudio:2015Pro

    C#からAccessを参照して、Accessのワークテーブルへの書き込みやレポートのOpenなどを

    行っていますが、「DoCmd.SetWarnings(false)」を実行した際に「コマンドまたはアクション 'メッセージの設定' は無効です。」

    が出る場合があります。

    同じ処理を行っても出る場合と出ない場合があり、法則などもつかめていません。

    考えられる理由など(セキュリティとか)ありましたら

    ご教示いただけないでしょうか。

    以上、よろしくお願いします。

    2019年10月18日 1:36

すべての返信

  • C#の言語形態はわかりませんが、Access的に...

    DoCmd.SetWarnings を使っているということは、それ以前行でDoCmdを使ったアクションクエリなどの処理を走らせていませんか?

    DoCmdは非同期実行され、処理完了を待ってくれません。

    ある程度は待つような雰囲気ですが、その時間の境目がわかりません。

    法則がつかめられないのは実行環境やデータ量にそれが左右されるからだと感じ取れます。

    そしてそれでたぶん、未だ更新中にDoCmd.SetWarningsが発行されてしまいエラーになってるような気がします(あくまで予想)

    もしアクションクエリなら、回避策はCurrentDb.ExecuteやCurrentProject.Connection.Executeでクエリを実行させてみてください。


    2019年10月23日 13:01