Microsoft Access 掲示板

指定する2つ以外のフォームを全て閉じたい / 1

2 コメント
views
4 フォロー
1

下記のコードでどうでしょう。

Public Sub CloseAllForm()
    Dim i As Long
 
    For i = Forms.Count - 1 To 0 Step -1
        If Forms(i).Name <> "フォームA" And Forms(i).Name <> "フォームB" Then
            DoCmd.Close acForm, Forms(i).Name
        End If
    Next

End Sub

Forms(0から始まるインデックス) で開いているフォームを参照できます。
インデックスの最後から削除しているのは、前から削除すると削除したとき、インデックスが前にずれるので、
削除されずにのこるフォームが出てくるためです。

通報 ...
  • 2
    はっち 2019/04/05 (金) 16:08:15 b6c0e@a6755 >> 1

    hatena様

    思い通りの仕組みになりました!
    本当にありがとうございます。