• ベストアンサー

アクセスのフォームのボタンで

access2010を使っています メニュー画面があり、そこに配置したボタンで メニュー以外に開いているウインドをすべて閉じるVABを組みたいのですが アクティブウインドを閉じる命令ばかりがひっかかっています 非アクティブウインドをすべて閉じるVBA文を教えていただければと思います

質問者が選んだベストアンサー

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

>メニュー以外に開いているウインドをすべて閉じる 「メニュー以外に開いている」という この事象を防いだ方がスッキリするように思います。 参考。 「access 直前まで開いていたフォームを閉じる。」 http://okwave.jp/qa/q5735801.html と同じことが起きているのでは?。 60秒間経過すると自動的にフォームを閉じる http://www.accessclub.jp/urawaza/65.html http://www.happy2-island.com/access/gogo03/capter60002.shtml VBAで開いているオブジェクトを閉じる(DoCmd.Close) メニュー以外に開いているウインドが無いときも 考慮しておいた方がいいです。

stkgsk
質問者

お礼

不必要なウインドがすっきりいきそうです ありがとうございました

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

ボタンクリック時のイベントで、 Private Sub コマンド0_Click() Dim i As Integer For i = Forms.Count - 1 To 0 Step -1 If Not Forms(i).Name = Me.Name Then DoCmd.Close acForm, Forms(i).Name End If Next End Sub Accessのウィンドウ自体の非表示ではないと 思うので、以上でどうでしょう。

stkgsk
質問者

お礼

試してみましたが、どうも思った通りには いかないのでこれを元にもう少し考えてみます ありがとうございます

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.1

やったことが無いので推測ですが、 VBA単体では、自分以外のウィンドウを閉じるということは出来ないかと。 自分自身に対しては制御範囲内なので可能ですが。 その処理を行うのであれば、API等を介して、OSの機能を制御する命令を間接的にキックするという形になると思います。 その詳細等については、調べてみないと判らないです。

stkgsk
質問者

お礼

確かに調べてみると制御の問題がでてくるみたいです ありがとうございました

関連するQ&A