投稿者 しるふぃん  (社会人) 投稿日時 2011/4/13 08:48:04
Dim itm As ListItemは、ListViewの1行をあらわす変数です。

この前のサンプルはテーブルを読み込み、EOFになるまで順次読み込んでいく。
読み込む都度判断を行いながら、ListViewの1行にデータを編集していく流れですね。
(例:エクスプローラーを開くと、右側のウィンドウがListviewにあたります。)

順に説明すると、TB1はRecordsetとして定義してあるものです。
(Dim TB1 As Recordset)
なので、TB1!セットしたい項目というのは、読み込むテーブルのフィールド名になります。

あと、ListItemのSubItemsプロパティ配下にCheckboxはないため、エラーになります。


なぜエラーかという前に「ListView」について調べてみましたか?
http://www.tsware.jp/study/vol10/comctl_07.htm
にもあるように、まずListItemオブジェクトとは何かを理解してください。
※1列目がListItemオブジェクトのキーとなり、2列目以降はそれにぶら下がるデータ
「SubItemsプロパティ」として管理されます。

調べてみるとわかると思いますが、SubItemsプロパティの中にはcheckboxはない為です。


それと前回にも書きましたが、ご自分ではご理解されている処理の概要を人に伝えることをもう少し丁寧にしたほうがいいですよ。
もちろん、その前にもう一度図に書くなり整理することも大事です。

私が理解している処理の概要は・・・。
まず、フォームが1つある。
そのフォームを開く際にテーブルを読み込み、データ1件1件判断しつつその結果をフォームに表示していくというものですよね。
なぜListviewを使うかというと、先日来の質問にもありましたが、テーブルに入っているデータが未知だということと、その未知の件数分フォームにテキストボックスやチェックボックスのコントロールを複数貼り付けていくのは見づらいだけだと判断したからです。