は、RemouはDoCmd.SetWarningsとCurrentDB.Executeの違いは何
CurrentDB.Execute "insert sql here"
が良くより
DoCmd.SetWarnings = 0
DoCmd.RunSQL "insert sql here"
に起因していると書いているビルトインAccessが生成する警告。私はその違いを理解しようとしています。
エラーが両方ともマスクされている場合、最初のエラーはなぜ2番目のエラーより優先されますか?ここにベストプラクティスはありますか?
あなたのコメントから:: 'なしで実行するにはさておき、私は一般的にそう、これはあなたが他のものの中で、レコード数を返すことができるようになりますよう、CurrentDBのインスタンスを使用することをお勧めしますよう
CurrentDBのインスタンスを使用してSQL文字列をExceuteすると、 '.Execute'は警告をスローしないと信じています。 – JimmyPena
上記の編集を参照してください。 – Fionnuala
これにアプローチする別の方法は、 'RunSql'から始めることです。最初に、ユーザがアクションクエリを実行することを確認し、その後に影響を受けるレコードの数に関するメッセージを表示する必要があります。人々はこれらのメッセージを抑制するために 'SetWarnings = False'を使います。しかし '[データベース] .Execute'はこれらのメッセージのいずれも表示しないので、' SetWarnings'をオフにする動機はありません。 Remouはすでにそれをすべて言った。私は誰かを助けるかもしれないオフチャンスについて別の言葉を使っているし、決して 'SetWarnings'をオフにしてはいけないという別の機会を与えようとしている! – HansUp