ここから本文です

「実行時エラー2489 フォーム①オブジェクトが開いていません」のエラーについて、...

やまたかさん

2018/5/3121:42:23

「実行時エラー2489 フォーム①オブジェクトが開いていません」のエラーについて、教えてください。
access2013を使っています。

フォーム①とフォーム②があります。
フォーム①のボタンでフ

ォーム②を開き、フォーム②に「フォーム①を再クエリしてフォーム②を閉じる」ボタンを作りました。
その際、フォーム①のレコードが1に戻らないようにしたくて、以下のコードを入力してます。

Dim CR As Integer
CR=Forms!フォーム①.CurrentRecord
DoCmd.GoToRecord acDataForm,"フォーム①",acGoTo,CR

フォーム②のボタンを押すと「実行時エラー2489 フォーム①オブジェクトが開いていません」というエラーが出ます。
フォーム①は開いた状態だと思うのですか、解決方法はありますでしょうか。

閲覧数:
234
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hat********さん

2018/5/3122:17:43

> フォーム②のボタンを押すと「実行時エラー2489 フォーム①オブジェクトが開いていません」というエラーが出ます。

このエラーが出たとき、「デバッグ」ボタンを押して、選択表示されるコードを提示してください。

> フォーム①は開いた状態だと思うのですか、解決方法はありますでしょうか。

確実に開いていますか。コードのなかで閉じるようなことをしてませんか。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

glo********さん

2018/6/109:15:02

質問文のVBAの直前に
MsgBox CurrentProject.AllForms("フォーム①").IsLoaded
と記述して該当のフォームが開かれているかどうかデバッグしてみたら?

実際のフォーム名が記号やユニコード文字など利用のACCESSにふさわしくない変なフォーム名だったりするなら
CR=Forms("フォーム①").CurrentRecord
としてみたら?

何かの理由でCurrentRecordでレコードカレント位置を取得できないのなら
On Error ~
でエラートラップしてみたら?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

プロフィール画像

カテゴリマスター

ony********さん

2018/6/109:02:07

>「フォーム②」に「フォーム①を再クエリ」
の部分はどう記述されていますか?

再クエリはそのフォーム内で行うのが普通で、この場合であれば、
「フォーム①」に「フォーム①を再クエリ」なら良いと思いますが...


また本文上のコードの記述された場所も読む人によって違ってくると思いますので、Function/Sub から End xxも含めた方が良いと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる