次の方法で共有


Page.ControlType プロパティ (Access)

フォームまたはレポートのコントロールの種類を決定するには、Visual Basic の ControlType プロパティを使用します。 読み取り/書き込みの バイト です。

構文

Controltype

Page オブジェクトを表す変数。

注釈

ControlType プロパティの設定値は、コントロールの種類を指定する intrinsic クラスの定数です。 CreateControl メソッドと CreateReportControl メソッドによって作成されたコントロールの完全な一覧については、AcControlType 列挙体に関するページを参照してください。

[!メモ] ControlType プロパティは、フォームのデザイン ビューまたはレポートのデザイン ビューで Visual Basic を使ってのみ設定できますが、値の取得はすべてのビューで可能です。

ControlType プロパティは、コードで特定のコントロールの種類を確認するときだけでなく、コントロールの種類を別の種類に変更するときにも使うことができます。 たとえば、フォームのデザイン ビューでテキスト ボックスの ControlType プロパティを acComboBox に設定すると、テキスト ボックスをコンボ ボックスに変更できます。

ControlType プロパティを使用して、特定の条件に従ってフォーム上の同様のコントロールの特性を変更します。 たとえば、ユーザーに対しテキスト ボックスの既存のデータの編集を禁止する場合、すべてのテキスト ボックスの " SpecialEffect /立体表示" プロパティを [Flat/なし] に設定し、フォームの " AllowEdits /更新の許可" プロパティを [No/いいえ] に設定します。 " SpecialEffect /立体表示" プロパティは、データの編集には影響を与えませんが、コントロールの動作が変更されたことを視覚的にわかるようにします。

ControlType プロパティは、CreateControl メソッドを使用するときに作成するコントロールの種類を指定するためにも使用されます。

次の例では、フォーム上のすべてのコントロールの ControlType プロパティを調べます。 ラベル コントロールとテキスト ボックス コントロールに対しては、プロシージャで " SpecialEffect /立体表示" プロパティを切り替えます。

ラベル コントロールの SpecialEffect プロパティが Shadowed に設定され、テキスト ボックス コントロールの SpecialEffect プロパティが Normal に設定され、 AllowAdditionsAllowDeletionsAllowEdits プロパティがすべて True に設定されている場合、変数はトグルされ、 intCanEdit 基になるデータの編集が許可されます。

Sub ToggleControl(frm As Form) 
 Dim ctl As Control 
 Dim intI As Integer, intCanEdit As Integer 
 Const conTransparent = 0 
 Const conWhite = 16777215 
 For Each ctl in frm.Controls 
 With ctl 
 Select Case .ControlType 
 Case acLabel 
 If .SpecialEffect = acEffectShadow Then 
 .SpecialEffect = acEffectNormal 
 .BorderStyle = conTransparent 
 intCanEdit = True 
 Else 
 .SpecialEffect = acEffectShadow 
 intCanEdit = False 
 End If 
 Case acTextBox 
 If .SpecialEffect = acEffectNormal Then 
 .SpecialEffect = acEffectSunken 
 .BackColor = conWhite 
 Else 
 .SpecialEffect = acEffectNormal 
 .BackColor = frm.Detail.BackColor 
 End If 
 End Select 
 End With 
 Next ctl 
 If intCanEdit = IFalse Then 
 With frm 
 .AllowAdditions = False 
 .AllowDeletions = False 
 .AllowEdits = False 
 End With 
 Else 
 With frm 
 .AllowAdditions = True 
 .AllowDeletions = True 
 .AllowEdits = True 
 End With 
 End If 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。