32 | コントロール系 - 種類ごとにカンマ区切りでコントロール名を収集する | ||
カレントデータベース内にあるフォーム名の一覧とともに、それぞれのフォームに配置されているコントロールの種類ごとにコントロール名を収集します。
ここでは複数のコントロール名をカンマ区切りで列挙します。また種類については「テキストボックス/コマンドボタン/サブフォーム/その他」の4つの分け方で収集します。 ※コントロールの種類の区分けについては『特定の種類のコントロールだけを収集する』に記載の表を参照
Sub Sample_4_07() '種類ごとにカンマ区切りでコントロール名を収集する Dim dbs As Database Dim ctn As Container Dim doc As Document Dim ctl As Control Dim strFormName As String Dim strTextBoxs As String Dim strButtons As String Dim strSubForms As String Dim strOthers As String Set dbs = CurrentDb Set ctn = dbs.Containers!Forms For Each doc In ctn.Documents strTextBoxs = "" strButtons = "" strSubForms = "" strOthers = "" strFormName = doc.Name DoCmd.OpenForm strFormName, acDesign Debug.Print "■" & strFormName For Each ctl In Forms(strFormName).Controls With ctl Select Case .ControlType Case acTextBox strTextBoxs = strTextBoxs & IIf(Len(strTextBoxs) > 0, ",", "") & .Name Case acCommandButton strButtons = strButtons & IIf(Len(strButtons) > 0, ",", "") & .Name Case acSubform strSubForms = strSubForms & IIf(Len(strSubForms) > 0, ", ", "") & .Name Case Else strOthers = strOthers & IIf(Len(strOthers) > 0, ",", "") & .Name End Select End With Next ctl Debug.Print "テキストボックス:" & strTextBoxs Debug.Print "コマンドボタン:" & strButtons Debug.Print "サブフォーム:" & strSubForms Debug.Print "その他:" & strOthers Debug.Print "------------------" DoCmd.Close acForm, strFormName, acSaveNo Next doc End Sub 実行例:
|
|||
|
Copyright © T'sWare All rights reserved |