フォームが50個くらいあるのですが
該当のフォームが存在するかvbaで取得したいのですが
If CurrentProject.AllForms("フォーム1").IsLoaded Then
のように、一発で取得する方法はありますか?
今は
Sub Sample1()
Dim DB As DAO.Database
Dim f As DAO.Document
Set DB = CurrentDb
Dim strForm As String
Dim flg As Boolean
strForm = "Fメインメニュー"
For Each f In DB.Containers!Forms.Documents
If strForm = f.Name Then
flg = True
Exit For
End If
Next
If flg = False Then
MsgBox strForm & "は存在しません"
End If
End Sub
のような感じで、すべてのフォームをループしているのですが
無駄が多い気がします。
改善策があればお願いします。
No.1ベストアンサー
- 回答日時:
おそらくそういった方法でループしてチェックするしかないと思います。
50個というと多いような気がしますが、コンピュータにとっては一瞬の処理ですからそれほど気にしなくてもよいかと思います。
おわかりのことかもしれませんが、その処理を関数化すれば
If CurrentProject.AllForms("フォーム1").IsLoaded Then
と同じように使えますよ。
以下の関数を作る
Public Function ExistsForm(ByVal formName As String) As Boolean
Dim f As Object
For Each f In CurrentProject.AllForms
If f.Name = formName Then
ExistsForm = True
Exit Function
End If
Next
End Function
これを
if ExistsForm("フォーム1") then
のように呼びだせば、フォームの存在をチェックできます。
No.2
- 回答日時:
dcount("*" ,"msysObjects","type = -32768 and name = 'チェックしたいフォーム名'")
では。
http://www.nurs.or.jp/~ppoy/access/access/acQ017 …
↑解説はこちらにて。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
字面がカッコいい英単語
あなたが思う「字面がカッコいい英単語」を教えてください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
コントロールの存在確認
Visual Basic(VBA)
-
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
フォームの存在をチェックする方法
Visual Basic(VBA)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
6
Accessのフォームでタブの色
Access(アクセス)
-
7
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
8
Access サブフォームでの選択行の取得
その他(データベース)
-
9
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
10
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
11
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
12
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
13
フォーム上の全てのコントロールを取得したい
Access(アクセス)
-
14
Access VBA でデータペーストをする
その他(Microsoft Office)
-
15
アクセス 壊れた? 「ファイルが見つかりません」
Access(アクセス)
-
16
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
17
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
18
新規レコード行を非表示にしたい
Access(アクセス)
-
19
フォントの大きさ
Visual Basic(VBA)
-
20
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォーム上にアイコン...
-
Googleフォーム・複数人の申し...
-
サブフォームの行ごとにコンボ...
-
ディスプレイ解像度より大きな...
-
サブフォームのイベント取得
-
PDFフォームに本日の日付を自動...
-
VBAにてメッセージボックスを最...
-
ボタン押下でサブフォームのレ...
-
VB.net(VB)で、フォームにExcel...
-
Access フォーム自動終了
-
リストボックスをクリックする...
-
accessで2つ以上のフォームを起...
-
フォーム上の全てのコントロー...
-
デロンギのオーブンが故障して...
-
サブフォームの新規レコードに...
-
アクセス フォームが存在する...
-
Accessのトグルボタンでサブフ...
-
ToolStripStatusLabelを固定し...
-
VBA リストボックスをダブルク...
-
Accessでサブフォームの合計を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
アクセスVBA フォームのス...
-
Accessでフォームから別フォー...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
サブフォームのイベント取得
-
Access 無操作の場合、自動で閉...
-
リストボックスの選択解除
-
メッセージボックスの背景色
-
VB.net(VB)で、フォームにExcel...
-
accessで2つ以上のフォームを起...
-
フォーム上の全てのコントロー...
-
Accessのトグルボタンでサブフ...
-
ExcelVBAでフォーム内でブック...
-
ユーザーフォーム上にアイコン...
-
ACCESS VBAサブフォーム(DATA S...
-
PDFフォームに本日の日付を自動...
-
子フォームから親フォームのオ...
-
アクセス フォームが存在する...
おすすめ情報