2017-07-03 11 views
1

MS Accessでアクションクエリを実行するときにポップアップする「警告」の情報を(vba経由で)キャプチャする方法はありますか?vba(MS Access)でアクションのクエリを取得する

as:更新クエリを実行すると、更新するレコードの数を取得し、コード内の別の変数と比較したいと思います。

可能であれば、警告をオフにしておきたいと思います!私はアクションクエリの警告をカスタマイズする方法があるかどうかを調べたいと思っています。ありがとうございました!

+0

https://support.office.com/en-us/article/Turn-action-query-confirmation-messages-on-or-off-e58e4bba-9d54-4b9d-b962-9eca048e5335 – y4cine

答えて

2

利用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コマンドを使用しないでください。

+0

DoCmd.RunSQLコマンドを避ける必要があるのはなぜですか?フィードバックありがとう – DrL

+0

エラーメッセージを抑制する必要があり、RecordsAffectedプロパティへのアクセス権がないためです。エラー抑制はアプリケーション全体に影響を与えます。たとえばエラーなどの理由でそれを有効にしない場合は、フォーム/レポート/クエリビルダーでさえ、保存についての質問はしません –

0

私はあなたがこのようなクエリを実行する必要があると思い影響を受けた行を取得するには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 
+0

また、 cnオブジェクト変数を設定しますか? – June7

+0

はい、私はOPにそれがあるはずです。私はちょっと答えを更新します。 –

関連する問題