●概要●
構文 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