Microsoft Access 掲示板

他のフォームを開き閉じる時に確認メッセージが出る

3 コメント
views

毎回大変お世話になっています。
フォームAからフォームBを開き(同一IDが抽出条件)フォームBの閉じるコマンド(ボタンを作成してます)を実行すると、編集していないのに『変更を保存しますか』のメーセージが出ます(この現象の時はボタンを1回クリックでは無反応で2回目のクリックでメッセージが出ます)。フォーム右上の×ではそうなりません。
フォームBを単体で開くとその現象はでません。フォームCからフォームBを同様に開いた場合はその現象は出ません。
原因が分からなくて。フォームBを他のフォームから開くコードは下記です。

   Dim buID As Long
    Dim foName As String, joken As String

    buID = Me.[部材ID]
    foName = "F部材入力フォーム"
    joken = "[部材ID]=" & buID

   DoCmd.OpenForm foName, acNormal, WhereCondition:=joken

  

beginner
作成: 2025/12/08 (月) 10:38:56
通報 ...
1

この情報だけからは原因を特定するのは難しいですね。

とりあえず下記を改善するまで順に実行してみてください。

「最適化と修復」の実行
新規データベースファイルを作成して元のファイルからすべてのオブジェクトをインポートする
フォームCを一から作り直す

2
beginner 2025/12/08 (月) 15:40:42 5b03c@570b7

Hatenaさんありがとうございます。回答頂きました事は試してみますが、投稿内容に情報不足がありました。フォームBを他のフォームから開いた後にフォームBに作成している閉じるボタン(Docmd.close フォーム名)をクリックでその現象になります。

3
beginner 2025/12/10 (水) 08:57:25 9eaf4@2128d

最適化と修復をしてみたのですが、解決しませんでした。カレントレコードがありませんのエラーとなりました。
それでフォームBには検索用IDコンボボックスがあり、それをフォームAから実行させる形に変更しましたらこの現象は出なくなりました。何か原因はあると思いますが様子見てみます。ありがとうございました。