HOME > 即効テクニック > AccessVBA > コントロール > コントロールをフォームに配置する

即効テクニック

コントロール

コントロールをフォームに配置する

(Access 2000/2002/2003)
●概要●
構文  CreateControl(formname, controltype[, section[, parent[, columnname[, 
      left[, top[, width[, height]]]]]]])

設定項目        内容
expression      Applicationオブジェクト[省略不可]
Formname	コントロールを配置するフォームの名前を文字列式で指定
		[省略不可]
Controltype	コントロールの種類をacControlTypeクラスの定数で指定
		[省略不可]
Section		コントロールを配置するセクションをacSectionクラスの定数で指	
		定[省略可能]
Parent		親コントロールの名前を文字列式で指定[省略可能]
Columnname	連結フィールド名を文字列式で指定[省略可能]
Left		コントロールの左位置の座標をtwip単位で指定[省略可能]
Top		コントロールの上位置の座標をtwip単位で指定[省略可能]
Width		コントロールの高さをtwip単位で指定[省略可能]
Height		コントロールの幅をtwip単位で指定[省略可能]

引数で指定したフォームに引数で指定したコントロールを作成します。
引数と引数
に指定する定数は以下を参照してください。 ・引数に指定する定数(acControlTypeクラス) 定数 説明 acBoundObjectFrame 連結オブジェクト フレーム acCheckBox チェック ボックス acComboBox コンボ ボックス acCommandButton コマンド ボタン acCustomControl ActiveX コントロール acImage イメージ acLabel ラベル acLine 直線コントロール acListBox リスト ボックス acObjectFrame 非連結オブジェクト フレーム acOptionButton オプション ボタン acOptionGroup オプション グループ acPage Page オブジェクト acPageBreak 改ページ コントロール acRectangle 四角形 acSubform サブフォーム acTabCtl タブ コントロール acTextBox テキスト ボックス acToggleButton トグル ボタン ・引数
に指定する定数(acSectionクラス) 定数  説明 acDetail 詳細セクション(既定値) acHeader フォームヘッダー acFooter フォームフッター acPageHeader ページヘッダー acPageFooter ページフッター 次のコードでは、新規にフォームを作成し、「商品テーブル」をレコードソースに設定します。次に、フォームに「商品名」フィールドをコントロールソースとするテキストボックスを配置します。さらにそのテキストボックスを親コントロールとするラベルを作成します。
●サンプル●
'コントロールをフォームに配置する
Sub CreateControlSample()
    Dim myForm As Form
    Dim myTextBox As Control
    Dim myLabel As Control
   '新規フォームを作成
    Set myForm = CreateForm()
   'レコードソースを設定
    myForm.RecordSource = "商品テーブル" 
   'フォームのキャプションを設定
    myForm.Caption = "商品"
    'コントロールソースが「商品名」のテキストボックスを作成
    Set myTextBox = CreateControl(myForm.Name, _
        acTextBox, , , "商品名", 1200, 100, 2000, 200)
    'キャプションが「商品名:」のラベルを作成
    Set myLabel = CreateControl(myForm.Name, _
        acLabel, , myTextBox.Name, "商品名:", 100, 100, 1000, 200)
   'フォームビューで開く
    DoCmd.OpenForm myForm.Name 
    DoCmd.MoveSize 0, 0, 5000, 3000
End Sub