読者です 読者をやめる 読者になる 読者になる

asaworks

自分の技術備忘録と雑談

【AccessVBA】DoCmd.SetWarnings の罠

f:id:asa-works:20161013113815p:plain

 

DoCmd.SetWarnings False

実行文~

DoCmd.SetWarnings True

「これを書いておけば警告文を出さない。」

そんなぼやっとした感じで使用していました。

f:id:asa-works:20161006224005j:plain

実際、調べてみても「アクションクエリ実行時に警告を出さない」程度にしか書かれていないことが多いように感じます。

 

ですが、先日預かったMDBを改修中に気づきました。

VBAを弄ったり、フォームを弄ったりしている最中、

「あれ??編集中だったのに間違ってフォーム閉じちゃった(^^;)しかも保存きかれなかった気がする。。。」

 

こんなことがありました。

よくよくコードを探っていると・・・

「DoCmd.SetWarnings がTrueにされてない・・・」

 

そう、この「DoCmd.SetWarnings」は False状態だと

f:id:asa-works:20161006224836j:plain

↑↑↑こういう警告も無視しちゃうんですね。

 

昔先輩に「丸パクリしないでちゃんと意味を調べてから使わないとだめだ」

と、散々言われていたことが思い出されました。

思い込みってよくないね。

 

んで、よく考えてみたのですが、Runtime環境以外であれば、「オプション」ー

「確認」欄のチェックを外しておくだけでいいんですよね。

f:id:asa-works:20161006225401j:plain

 

なんか、Runtimeでもレジストリいじれば、このチェックを外したのと同じ環境を作れた気もする。前にそんなことを聞いた気が。。。

 

ちなみにDoCmd.SetWarnings ですが、Access立ち上げ時は「True」がデフォルトだそうです。そして一度「False」にしてしまうと、「true」にしない限りはAccessを閉じるまで「False」状態が続くのだとか。

 

そんなわけでおまじない文言みたいに「DoCmd.SetWarnings ~」を使っていましたが、やっぱりニワカ知識じゃいかんな。と痛感しました。