プロが教えるわが家の防犯対策術!

Access 親フォームより表示、非表示のサブフォームを表示させる方法は何とか出来ましたが、表示したサブフォームを自分自身で非表示させる方法が判りません。
お判りになる方、宜しくお願いします。

A 回答 (3件)

サブフォームのモジュールから、サブフォームを非表示にしたいということでしょうか。


メインフォームのサブフォーム以外のコントロールにフォーカスを移動させてから、
Visible を False にします。


Forms!メインフォーム名.コントロール名.SetFocus
Me.Visible = False

この回答への補足

ご回答をありがとうございます。私の説明が不適切なのでしょうか、ご回答頂きました方法は既に何度も試しているのですが、上手くいきません。親フォームから表示させた、サブフォームをそのサブフォーム自身から非表示にしたいのですが、ご回答下さいました方法で出来るものなのでしょうか?
宜しくお願いいたします。

補足日時:2014/08/19 01:34
    • good
    • 0

No.1 で


「メインフォームのサブフォーム以外のコントロールにフォーカスを移動させてから、
Visible を False にします。」
と回答したしたが、この文章をもう一度よく読んで、

> Private Sub subClose_Click()
>   Forms!MainForm.subFormA.SetFocus
> Me.Visible = False

> コントロールがフォーカスを取得しているときは、コントロールを非表示にできません

このコードとエラーメッセージの意味を理解すれば、
うまくいかない原因は分かると思います。
    • good
    • 0
この回答へのお礼

解決できました。時間がかかりましたが、理解することも出来たと思っています。
まだまだ未知の領域があります。また質問させて頂きます際は、宜しくお願いします。
今回はありがとうございました。

お礼日時:2014/08/20 14:57

> 親フォームから表示させた、サブフォームをそのサブフォーム自身から非表示にしたいのですが、ご回答下さいました方法で出来るものなのでしょうか?



当方で簡単なサンプルを作成して実験してみましたが、問題なくできました。

下記の情報を補足してください。

現状のメインフォームに記述してあるサブフォーム非表示のコード。

今回、サブフォームに記述したうまく行かないサブフォーム非表示のコード。

また、そのコードでどのようにうまく行かないのかの詳細。
エラーが出るなら、どのコードでどのようなエラーメッセージがでるのか。

この回答への補足

ありがとうございます。

親フォーム:MainForm
サブフォーム名:subFormA

Open時に

Private Sub SubOpen_Click()
Me.Parent.subFormA.Form.Visible = True
End Sub

サブフォーム上のCloseに

Private Sub subClose_Click()
  Forms!MainForm.subFormA.SetFocus
Me.Visible = False

です。

エラーメッセージは
「実行時エラー "2165"
コントロールがフォーカスを取得しているときは、コントロールを非表示にできません」

Access2013です。

ディバックに > Me.Visible = False の部分が指摘されている様です。
宜しくお願いいたします。

補足日時:2014/08/19 17:41
    • good
    • 0

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

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


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