#238 データシートの枠線の表示方法をプログラムから変える方法 フォーム、VBA

サブフォームとして表示したデータシートの「枠線」の表示方法を、メインフォーム上に配置したオリジナルのチェックボックスによって切り替える方法です。

メインフォームに、水平線と垂直線の表示有無を切り替えるためのチェックボックスを2つ配置し、それぞれのチェックボックスの"AfterUpdate/更新後処理"イベントプロシージャに次のようなコードを記述します。ポイントとしては、サブフォームの「DatasheetGridlinesBehavior」プロパティの値をVBAで設定することです。

ここでは、データシート形式のサブフォームの名前を"frm売上_sub."、チェックボックスの名前をそれぞれ"chk水平"、"chk垂直"としています。"acGridlinesBoth"などの値はAccessがあらかじめ持っている定数です。
Private Sub chk水平_AfterUpdate()

  Dim intBehavior As Integer

  If Me!chk水平 Then
    '水平にチェックが付いている場合
    If Me!chk垂直 Then
      '両方ともチェックが付いている場合
      intBehavior = acGridlinesBoth
    Else
      '水平だけチェックが付いている場合
      intBehavior = acGridlinesHoriz
    End If
  
  Else
    '水平にチェックが付いていない場合
    If Me!chk垂直 Then
      '垂直だけチェックが付いている場合
      intBehavior = acGridlinesVert
    Else
      '両方ともチェックが付いていない場合
      intBehavior = acGridlinesNone
    End If
      
  End If
    
  'サブフォームの枠線を設定
  Me!frm売上_sub.Form.DatasheetGridlinesBehavior = intBehavior

End Sub


Private Sub chk垂直_AfterUpdate()
  
  '垂直チェックボックスが更新されたときも
  '水平チェックボックスの更新後処理を行う
  chk水平_AfterUpdate

End Sub

実行前の状態
実行前の状態

枠線設定切り替え後のそれぞれの画面
垂直線のみ表示
水平線のみ表示
水平線・垂直線ともになし
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved