コントロールの操作【Access】

フォーム・レポートの操作【Access】 07.フォーム・レポートの操作
フォーム・レポートの操作【Access】

コントロールの操作・参照方法

フォームやレポート内に配置されたテキストボックスやコンボボックス等の部品をコントロールと呼びます。コントロール内には様々な種類があり、データの入力内容に応じて使い分けることで、使いやすいフォームを設定することができます。

【標準モジュールからコントロールを参照する書式】
 Forms(“フォーム名”).コントローム名.メソッドまたはプロパティ

【フォームからコントロールを参照する書式】
 Me.コントローム名.メソッドまたはプロパティ

【標準モジュールからサブフォームのコントロールを参照する書式】
 Forms(“フォーム名”).サブフォーム名.Form.コントローム名.メソッドまたはプロパティ

【フォームからサブフォームのコントロールを参照する書式】
 Me.コントローム名.サブフォーム名.Form.メソッドまたはプロパティ

主なコントロールに共通するプロパティ

Cptionプロパティ/Nameプロパティ

Captionプロパティは、コントロールの表題を返します。Nameプロパティはコントロールの名前を返します。
【書式】
コントロール.Caption
コントロール.Text
【プロパティシート】
Caption:コントロールまたはフォーム-書式-表題
Name:コントロールまたはフォーム-その他-名前

Private Sub cmdCaption_Click()
    MsgBox Me.Caption & "/" & Me.Name
End Sub

Textプロパティ/Valueプロパティ

Textプロパティはコントロールの文字列を返します。Valueプロパティはコントロールの値を返します。
【書式】
コントロール.Text
コントロール.Value

Private Sub cmdText_Click()
  'Textプロパティはコントロールにフォーカスがあることが前提です。
    DoCmd.GoToControl ("会員番号")
    MsgBox Me.会員番号.Text
    MsgBox Me.会員番号.Value
End Sub

ForeColorプロパティ/BackColorプロパティ

ForColorプロパティはコントロールのテキストの色を設定します。BackColorプロパティはコントロールの背景色を設定します。
【書式】
コントロール.ForeColor
コントロール.BackColor
【プロパティシート】
コントロール-書式-背景色・前景色

Private Sub cmdColor_Click()
    Me.cmdColor.ForeColor = vbRed '赤を表す定数です。
    Me.cmdColor.BackColor = vbBlack '黒を表す定数です。
End Sub
ForeColor・BackColor

Lockedプロパティ/Enabledプロパティ/Visibleプロパティ

Lockedプロパティはコントロールのデータが編集できるかどうか、Enabledプロパティはコントロールが有効か無効か、Visibleプロパティはコントロールを表示するかどうかをそれぞれ設定します。
【書式】
コントロール.Locked=True または False
コントロール.Enabled=True または False
コントロール.Visible=True または False
【プロパティシート】
Lockedプロパティ:コントロール-データ-編集ロック
Enabledプロパティ:コントロール-データ-使用可能
Visibleプロパティ:コントロール-書式-可視

Sub TextBoxTest()
    With Me
        'Locked=Trueは編集ができなくなります。
        .txt0.Locked = True
        .txt0.Value = "Locked = True"
        'Enabled = false1は非活性になり、フォーカスを移すことができなくなります。
        .txt1.Enabled = False
        .txt1.Value = "Enabled = False"
        'Viseble=Falseは非表示になります。
        .txt2.Visible = False
    End With
End Sub
Locked・Enabled・Visible

オプションボタンに関するプロパティ

OptionValueプロパティ

オプショングループ内のコントロールに割り当てられた数値です。
【書式】
コントロール.OptionValue

Private Sub cmdOption_Click()
    Select Case Me.flaSample
        Case Me.opt1.OptionValue
            MsgBox "オプション1が選択されています。"
        Case Me.opt2.OptionValue
            MsgBox "オプション2が選択されています。"
        Case Else
            MsgBox "オプションが選択されていません。"
    End Select
End Sub

リストボックス・コンボボックスに関するプロパティ

RowSourceTypeプロパティ/RowSouceプロパティ

リストボックスやコンボボックスに表示するソースのタイプを設定します。
【書式】
コントロール.RowSourceType
コントロール.RowSource
【プロパティシート】
RowSourceTypeプロパティ:コントロール-データ-値集合タイプ
RowSourceプロパティ:コントロール-データ-値集合ソース

RowSourceType
の設定値
RowSource
の設定値
説明
Table/Queryテープル名、クエリ名、SQL元になるテーブル名等を指定します。
Value List“値1;値2;値3・・・”元になる値を「;(セミコロン)」で区切って指定します。
Field Listテープル名、クエリ名、SQLフィールド名リストの元になるテーブル名等を指定します。
Private Sub cmdList1_Click()
    With Me.lstSample
        '※T_会員名簿の最初のフィールドの値を表示します。
        .RowSourceType = "Table/Query"
        .RowSource = "T_会員名簿"
    End With
End Sub

Private Sub cmdList2_Click()
    With Me.lstSample
        '指定した値を表示します。
        .RowSourceType = "Value List"
        .RowSource = "Value1;Value2;Value3"
    End With
End Sub

Private Sub cmdList3_Click()
    With Me.lstSample
        '※T_会員名簿のフィールド名を表示します。
        .RowSourceType = "Field List"
        .RowSource = "T_会員名簿"
    End With
End Sub
WowSoureType

RowSourceTypeプロパティが「Value List」の場合、値の追加・削除が可能です。
【書式(削除)】
コントロール.AddItem 項目,[追加位置]
【書式(削除)】
コントロール.RemoveItem 項目 または 項目番号

Private Sub cmdAdd_Click()
    With Me.lstSample
        .AddItem "ValueX"
    End With
End Sub

Private Sub cmdRemove_Click()
    With Me.lstSample
        .RemoveItem 0
    End With
End Sub

ColumnCountプロパティ

リストボックスやコンボボックスに表示される列数を設定します。
【書式】
コントロール.ColunColunt
【プロパティシート】
コントロール-書式-列数

Private Sub cmdRetsusu_Click()
    With Me.lstSample
        .ColumnCount = 2
        .RowSourceType = "Table/Query"
        .RowSource = "T_会員名簿"
    End With
End Sub

ListIndexプロパティ

リストボックスやコンボボックスで選択された項目の番号を返します。
【書式】
コントロール.ListIndex
※行数は0から始まります。データが選択されていない場合は-1を返します。

Private Sub cmdLIstIndex_Click()
    Dim i As Long
    
    With Me.lstSample
        i = .ListIndex
        If i <> -1 Then
            MsgBox i + 1 & "行目を選択。"
        Else
            MsgBox "選択されていません。"
        End If
    End With
End Sub

Selectedプロパティ

リストボックスやコンボボックスの各項目が選択されているかどうかを設定します。
【書式】
コントロール.Selected(項目番号)=True または False

Private Sub cmdSelcted_Click()
    Dim i As Long
    '選択された行をクリアし次の行を選択状態にする。
    With Me.lstSample
        i = .ListIndex
        .Selected(i) = False
        .Selected(i + 1) = True
    End With
End Sub

BoundColumnプロパティ

リストボックスやコンボボックスのどの列をコントロールの値として使用するか設定します。
【書式】
コントロール.BoundColmn=列番号
【プロパティシート】
コントロール-データ-連結列
※0を設定するとListIndexの値がセットされます。

Private Sub cmdBoundColmn_Click()
    'リストボックスに3列表示し2列目をコントロールの値として設定する。
    With Me.lstSample
        .ColumnCount = 3
        .BoundColumn = 2
        .RowSourceType = "Table/Query"
        .RowSource = "T_会員名簿"
    End With
End Sub

その他のプロパティ・メソッド

RecordSelectorsプロパティ

フォームにレコードセレクタを表示するかどうかを設定します。
【書式】
オブジェクト.RecordsetSelectors = True または False
【プロパティシート】
フォーム-書式-レコードセレクタ

Private Sub cmdRecordSelectoors_Click()
    With Me
        If .RecordSelectors Then
            .RecordSelectors = False
        Else
            .RecordSelectors = True
        End If
    End With
End Sub
レコードセレクタ

SetFocusプロパティ

指定したフォームやコントロールにフォーカスを移動します。
【書式】
コントロール.SetFocus

Private Sub cmdSetFocus_Click()
    Me.txt0.SetFocus
End Sub

次はイベントプロシージャの作成【Access】です。

コメント

タイトルとURLをコピーしました