Translate

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

ACCESSでListView(リストビュー)コントロールを使う


 

標準のコントロールにはListView(リストビュー)は無い

ACCESSでフォームをデザインする場合には、リストビュー(ListView)に変わる、表型のフォームをサブフォームとして使うことで賄えてしまう為、わざわざListViewを利用する機会も少ないのだけれども、ListViewでデザインする必要がある場合には、最初にコントロールの参照設定が必要である。


ACCESSのリボン.コントロールから、上図のようなボタンを押下する。


ACTIVEXコントロールを選択する。


参照設定から[Microsoft ListView Control, version 6.0]を選択すると、フォームのデザイン画面にコントロールが貼り付けされる。


VBAでリストビューを使う時は、注意が必要だ。

インテリセンスを使ってコーディングをする時代だが、捨て去られるVBA(VB6系)プログラムのリストビューは、インテリセンスに候補が表示されないメソッドが殆どだ。

コードのサンプル

      With Me!ListView
        
        .ColumnHeaders.Clear
        .ListItems.Clear
        .View = lvwReport
        .FullRowSelect = True
        .GridLines = True
        
        
        
        With .ColumnHeaders
            .Add , , "商品コード"
            .Add , , "商品名"
            .Add , , "在庫数"
        End With
    
        .ColumnHeaders(2).Width = 3000
    
    Dim itm As ListItem
    
    Set itm = ListView.ListItems.Add(, , "1000000")
    itm.SubItems(1) = "商品A"
    itm.SubItems(2) = "900"
    
    Set itm = ListView.ListItems.Add(, , "1000001")
    itm.SubItems(1) = "商品B"
    itm.SubItems(2) = "901"
    
    End With

実際、EXCELや、WordのVBA以外では、ListViewをわざわざ使う意味も無いのだけれども、ListViewを使うメリットもある。

ACCESSでサブフォームで表を入れ子にしてデザインせず、ListViewを使うメリットは、リストビューを使っておくと、ExcelやWordへ移植する際に、わざわざプログラムし直す必要が無くなるという事だ。




ただ、リストビューが必要な位だったら、.NETでプログラミングした方が実際は楽なんだけれども、これでわざわざプログラミングしている諸君は恐らく、ライセンス費用に頭を抱えているからだろうけれど...






このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法