- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:全てのフォームを削除したい アクセス2010)
アクセス2010でフォームを削除する方法
このQ&Aのポイント
- アクセス2010でフォームを削除する際、一部のフォームが削除できないエラーが発生する場合があります。
- このエラーは、フォームを削除することによって順番が狂い、ループが初期化されないため発生します。
- この問題を解決するためには、フォームを削除する前にループの初期化を行う必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
探せばいろいろと転がっていますが、 Dim i As Integer For i = CurrentProject.AllForms.Count - 1 To 0 Step -1 DoCmd.DeleteObject acForm, CurrentProject.AllForms(i).Name Next i では? メッセージを残すのは御随意に。
その他の回答 (2)
- suzukikun
- ベストアンサー率28% (372/1325)
回答No.3
Dim delForm as Object とかして delForms = CurrentProject.AllForms にすれば行けると思いますけど。右辺の名前は何でも良いんですが。 明らかに左側はIntegerではないですよね?
質問者
お礼
回答ありがとうございました。
- suzukikun
- ベストアンサー率28% (372/1325)
回答No.1
最初にCurrentProject.Allformsを変数にいれておいてからその変数を使ってFor Eachでけしていけばいいのでは?
質問者
お礼
早速のご回答有難うございます。 >最初にCurrentProject.Allformsを変数にいれておいて とは、 Dim i As Integer i = CurrentProject.AllForms For Each obj In i こうするということでしょうか? なぜかこれだと、.AllFormsの部分で、引数を省略できませんというエラーになってしまいます。 最初にCurrentProject.Allformsを変数にいれるというやり方を教えていただけますか? よろしくお願いします。
お礼
回答ありがとうございました。