« 2004年12月 | トップページ | 2005年10月 »

2005.05.12

アクセスのVBAでトラブル

久しぶりの投稿です。

記事に出来るようなトラブル(ここがみそです、汗)がなかっただけで平穏無事に仕事をしていたわけではありません。

今回のトラブルは以前から何度も登場しているアクセスで作ったアプリケーションなんですが、電話があってちょっと前から入力時にVBのソースコードが表示されて止まるという連絡でした。わからないのでクローズをクリックしてやり過ごしていたらしいのです(これではデータの不整合が怖い)。いつから起きているかははっきりしないのですが、最後に手を入れてから一ヶ月近くになりますのでそのあたりから起きていた可能性があります。

こちらで向こうの言うとおり実行してみると再現します。もちろん何度もテストしてある処理ですのでそんなはずはないのにと思ってみると、ちょうどデバッガのブレークポイントで止まったような状態になっています。もちろん、修正時に設定したブレイクポイントはリリース前に全解除をしていますのでそれはありません(表示もブレークポイントになっていないし)。

いろいろ調べると以下の条件があることがわかりました。

・起動後最初にその処理を通ったとき。

・実行前にVBAのエディタでその部分を確認していると起きない。

・そのまま実行すれば正常に処理が行われる。

データベースの修復などをしてみましたが効果はありませんでした。

もしかしてエラーが発生していてエラーハンドラーがうまく動作していないのではないかと思って"ON ERROR"の指定をはずしてみたところ予想に反してエラーで止まらないでブレークすることもなく正常に処理が行われるようになりました。

全部の処理からエラー処理をとるのは怖いので問題箇所の直前に"ON ERROR"の解除をするようにしてこの問題は解決できるめどが付きました。

よくわからない現象で困っていましたが、何とかめどが付いてほっとしました。

| | コメント (0) | トラックバック (0)

« 2004年12月 | トップページ | 2005年10月 »