MS Accessでアクションクエリを実行するときにポップアップする「警告」の情報を(vba経由で)キャプチャする方法はありますか?vba(MS Access)でアクションのクエリを取得する
as:更新クエリを実行すると、更新するレコードの数を取得し、コード内の別の変数と比較したいと思います。
可能であれば、警告をオフにしておきたいと思います!私はアクションクエリの警告をカスタマイズする方法があるかどうかを調べたいと思っています。ありがとうございました!
MS Accessでアクションクエリを実行するときにポップアップする「警告」の情報を(vba経由で)キャプチャする方法はありますか?vba(MS Access)でアクションのクエリを取得する
as:更新クエリを実行すると、更新するレコードの数を取得し、コード内の別の変数と比較したいと思います。
可能であれば、警告をオフにしておきたいと思います!私はアクションクエリの警告をカスタマイズする方法があるかどうかを調べたいと思っています。ありがとうございました!
利用Execute
ADOの方法(@Michael Z.に答える参照)またはDAO:
Dim db As DAO.Database
Set db = CurrentDb
db.Execute "SELECT * INTO someschema.sometable FROM someschema.anothertable", dbFailOnError
MsgBox db.RecordsAffected
クエリ定義もRecordsAffected
性質を持っています。 DoCmd.RunSQL
コマンドを使用しないでください。
DoCmd.RunSQLコマンドを避ける必要があるのはなぜですか?フィードバックありがとう – DrL
エラーメッセージを抑制する必要があり、RecordsAffectedプロパティへのアクセス権がないためです。エラー抑制はアプリケーション全体に影響を与えます。たとえばエラーなどの理由でそれを有効にしない場合は、フォーム/レポート/クエリビルダーでさえ、保存についての質問はしません –
私はあなたがこのようなクエリを実行する必要があると思い影響を受けた行を取得するにはDoCmd.SetWarnings False
https://msdn.microsoft.com/VBA/Access-VBA/articles/docmd-setwarnings-method-access
を探していると信じています。
Dim recordsAffected As Long
cn.Execute "SELECT * INTO someschema.sometable FROM someschema.anothertable", _
recordsAffected
MsgBox recordsAffected
また、 cnオブジェクト変数を設定しますか? – June7
はい、私はOPにそれがあるはずです。私はちょっと答えを更新します。 –
https://support.office.com/en-us/article/Turn-action-query-confirmation-messages-on-or-off-e58e4bba-9d54-4b9d-b962-9eca048e5335 – y4cine