許せない心理テスト

いつもお世話になっております。

フォームに「レコードの削除」ボタンを作成して実行したところ、
「カレントレコードがありません」と表示されてしまいます。
削除そのものは、正しく行われている(削除したいレコードが削除されている)のですが、
なぜ、そのようなメッセージが出てしまうのか分かりません。

他のフォームでは、削除するレコードが最後のレコードで無い限り、
そのようなメッセージは出ません。
また、そのフォームのレコードソースになっているクエリでは、
問題なく削除が実行されます。

削除ボタンの作成は、コントロールウィザードを使って行いました。
ちなみにVBAでは下記のような記述になっています。

Private Sub 削除テスト_Click()
On Error GoTo Err_削除テスト_Click


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_削除テスト_Click:
Exit Sub

Err_削除テスト_Click:
MsgBox Err.Description
Resume Exit_削除テスト_Click

End Sub

メッセージを表示させないためには、どのようにしたら良いでしょうか??
また、最後のレコードを削除した場合にも、
「カレントレコードがありません」メッセージを表示させなくするには
どのようにしたら良いでしょうか?
教えてください。

A 回答 (4件)

>On Error Go To 0で試してみたのですが、


>やはり「カレントレコードがありません」表示がされてしまいます。

あ、いや、On Error GoTo 0 じゃなくて On Error Resume Next を使ってください、って書いたつもりだったんですが・・・。まぁ、他の方法で回避できたみたいなので、いいんですけど。

この回答への補足

その後試してみたところ、メッセージ表示がなくなりました!!!
ホント、助かりました。
どうもありがとうございます!!!!

補足日時:2004/03/16 16:36
    • good
    • 1
この回答へのお礼

たびたびのご回答、どうもありがとうございます!!
色々と教えていただいて、勉強になりました。
また、どうぞよろしくお願いします!!!

お礼日時:2004/03/15 15:47

#1です。


MSの技術情報検索にこんなのがありました。kumikoaraさんの状況に当てはまるかどうかは自信なしですが、新しい回答がないようなのでお困りだと思い投稿しました。
僕はDoMenuItemを使ったことがなく、このようなケースだったら、クエリーを作っておいて呼び出すか、モジュールに直接SQLを書いちゃいます。
頑張ってくださいヽ(^。^)ノ

参考URL:http://support.microsoft.com/default.aspx?scid=k …
    • good
    • 0
この回答へのお礼

ご回答、どうもありがとうございます。
URL参考になりました。
フォーム上でのレコード削除はやめて、他の方法で対応することにしました。
SQLって良く分からなくて・・・。
何度もご親切に対応いただき、ありがとうございます!!
また、機会がありましたらよろしくお願いいたします。

お礼日時:2004/03/12 15:31

On Error GoTo 0 は、「現在のプロシージャに含まれる使用可能なエラー処理ルーチンを無効にします。

」ということですので、
Err_削除テスト_Click:
MsgBox Err.Description
Resume Exit_削除テスト_Click
が使用されなくなる変わりに、VB のエラーメッセージが表示されるようになると思います。
On Error Resume Next を使用すると、エラーがトラップされなくなります。
エラートラップと「削除してもよろしいですか?」の確認メッセージは関係ないので、「削除してもよろしいですか?」は、表示するように設定されていれば表示されるはずです。
「カレントレコードがありません」が表示される原因は、ちょっとよくわからないです・・・。

この回答への補足

ご回答、ありがとうございます。
On Error Go To 0で試してみたのですが、
やはり「カレントレコードがありません」表示がされてしまいます。

また、
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

だけを生かすよう書き直したのですが、やはり「カレントレコードがありません」表示がされてしまいます。。。
どうしたら、表示がなくなるんでしょうかねぇ・・・

補足日時:2004/03/12 09:58
    • good
    • 0

 ただ単にエラーを表示したくないだけでしたら、


  「On Error GoTo Err_削除テスト_Click」の下に
  「On Error GoTo 0」
 と追加すればエラートラップを中止できたと思います。

 回答がなくお困りだと思い、自信なしですが投稿しました。
 頑張ってくださいヽ(^。^)ノ
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。
教えていただいた方法だと、おそらく
「削除してもよろしいですか?」というメッセージも
表示されなくなってしまうでしょうか??
できれば、削除に関するメッセージは残したいなと
思っていたのですが。。。

自分でメッセージボックスを作成すればいいのかしらね。
頑張ってみます。
ありがとうございました(^0^/"

お礼日時:2004/03/10 17:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A