Microsoft Access 掲示板

フォームを閉じたときのエラー

5 コメント
views
4 フォロー

お世話になっております。

あるフォーム[F27 台帳]があります

Private Sub B検索結果に戻る_Click()
    DoCmd.Close acForm, "F27 台帳"
End Sub

のようなコードで閉じていました。
しかし、昨日まで使用できていたものが今日になって
「カレントレコードがありません」、あるいは「プロパティが見つかりませんでした」
というエラーメッセージが発生しました。
検討してみると、このフォームを
「(どのようなタイミングや、やり方でも)閉じる」
「フォームビューからデザインビューに切り替える」と
エラーが発生することがわかりました。

https://tsware.jp/tips/tips_674.htm
さまのサイトに書いてあるように、何らかの変化によるものだとは思いますが、
こちらのサイトに書いてある、コードをF27フォームのイベント「エラー発生時」に設定しても
イベント発生外でエラーが発生してしまっております。
どのようなイベントで対応すればよさそうでしょうか。お知恵をお貸しください。

nokonoko
作成: 2022/05/10 (火) 15:27:46
通報 ...
1
りんご 2022/05/10 (火) 15:51:48 c564b@0e907

フォームの元になっているクエリを開いた時もエラーになる?
YESならば、クエリの元になるテーブルを開いて昨日までと今日で何か違うか?
特にあるべきレコードが消失していないか?
当て推量ですが、こんな流れで見直してみるとか。

2
nokonoko 2022/05/11 (水) 10:31:14 修正 3c8e6@54883

りんご様 ご回答ありがとうございます。

フォームはテーブルを使っています。

SELECT 
FROM [T1 組成規格マスタ];

だけのものです。

テーブルT1自体に、問題点は見当たりませんでした。

F27フォームは、F28というサブフォームを持っています。
F28を削除したところ、F27を閉じるときのエラーは一切発生しませんでした。
F28を単体で開いた場合、F28を閉じるときのエラーは一切発生しませんでした。

3
りんご 2022/05/12 (木) 00:24:03 c564b@0e907

下記コードを追加すると、どんなメッセージが出ますか?

Private Sub B検索結果に戻る_Click()
    MsgBox Me.CurrentRecord
    MsgBox Me.Recordset.BOF
    MsgBox Me.Recordset.EOF 
    DoCmd.Close acForm, "F27 台帳"
End Sub

F27 台帳にコマンドボタンを追加、クリック時イベントで同様のメッセージを確認出来るように準備。
F27 台帳を開いた直後や何か操作した直後に、コマンドボタンを押すと、どんなメッセージが出ますか?

4
nokonoko 2022/05/16 (月) 10:48:49 修正 3c8e6@54883

ご返答が遅くなりまして、失礼いたしました。
ご回答いただいた内容を基に対処を行おうと、本日ファイルを開いたところ、
今まで発生したエラーが(何もしていないのに)発生しなくなりました。
私の端末以外からも同様でした。
よって、何らかの365関連のトラブルにかかっていたのかもしれません。

そのような、状況ではありますが、いただいたコードを試しましたので
ご確認願います。

>下記コードを追加すると、どんなメッセージが出ますか?
1
False
False
です。

>F27 台帳を開いた直後や何か操作した直後に、コマンドボタンを押すと、どんなメッセージが出ますか?
どのような作業をした場合も、同様の結果でした。

5
nokonoko 2022/05/16 (月) 10:50:29 3c8e6@54883

りんご様

今までご回答ありがとうございました。
とりあえず、本質問は終了させていただきます。