Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Access 2016)
フォームが消える??
投稿日時: 17/04/07 18:10:21
投稿者: きき

フォーム1からフォーム2を開き、フォーム2を閉じると
フォーム1が消えてしまいます。
 
イミディエイトで
? SysCmd(acSysCmdGetObjectState, acForm, "フォーム1") を実行すると
1が帰ってくるので、閉じてはいないようです。
 
消えないようにするには?または、
また、再発すると思うので、表示させるには?
 
どのようにすればいいでしょうか?

回答
投稿日時: 17/04/07 18:28:54
投稿者: hatena
投稿者のウェブサイトに移動

とりあえず、イミディエイトウィンドウで、
 
Forms!フォーム1.Visible = True
 
を実行してみたらどうなりますか。
表示されるなら、どこかで、
 
Forms!フォーム1.Visible = False
 
を実行していることになりますね。
 
それで、表示されないなら、
 
Docmd.SelectObject acForm, "フォーム1", False
Docmd.Maximize
 
を実行するとか。
 
どちらにしても、どこかで見えなくするようなコマンドを実行しているはずだと思います。

投稿日時: 17/04/07 18:44:57
投稿者: きき

フォーム2を開いてから
  
 ? Forms!フォーム1.Visible を実行すると、
False になります。
  
フォーム2を横に移動すると、フォーム1は、やはり消えています。
  
Forms!フォーム1.Visible = False はどこにも記述していません。
フォーム1 で検索しましたが、それらしいコードはありません。
  
最適化しても同じです。
  
ん〜・・・わからないです。

投稿日時: 17/04/07 18:49:04
投稿者: きき

原因は、フォーム2にあるようです。
 
フォーム3、フォーム4を開いても、問題ありません。
最初はこんなことは起こらなかったのですが、
何がいけないんでしょう?

投稿日時: 17/04/07 18:58:45
投稿者: きき

すみません。自己解決です。
 
フォーム2のテキストボックスの1つが原因でした。
式の引数にNullが含まれていました。
 
ありがとうございました。