はじめまして。
現在、VB6のTreeViewコントロールを使用し、組織構造図のメンテナンスを行なうプログラムを作成しています。
主な機能は、
①組織マスタ、構造マスタより組織構造を表示する。
②画面上(DBは更新しない)で、組織の新規作成及び、コード及び名称の修正を行なう。
③画面上で、組織の移動を行なう。
④画面上の組織構造をDB(組織マスタ、構造マスタ)にUPDATEする。
(実際は、連番を振りなおすため、DELETE INSERTしています。)
テーブルは、
【組織マスタ】
Key:組織コード
組織名称
【構造マスタ】
Key:組織コード
Key:連番
下位組織コード
といった感じです。
一通りの動作は行なうのですが、
『④画面上の組織構造をDB(組織マスタ、構造マスタ)にUPDATEする。』の際、
画面上、
A---+---B
|
+---D
|
+---C
となっていれば、構造マスタへは、
組織コード|連番|下位組織コード
----------+----+--------------
A |1 |B
A |2 |D
A |3 |C
といったように、ノードのIndexやKeyにとらわれずに、
純粋に画面の上に表示されているものから連番を振りたいのです。
そのようなことは、可能なのでしょうか??
質問の内容がわかりにくいかとは思いますが、よろしくお願いしますm(__)m
Next プロパティを使えば多分出来るかな?
サンプルを載せておきます。
クリックされたノードの子ノードを列挙します。
孫ノードは列挙しません。列挙したいときは再帰処理で。
Private Sub TreeView1_Click()
Dim objNode As Node
Set objNode = TreeView1.SelectedItem.Child
Do Until objNode Is Nothing
MsgBox objNode.Text
Set objNode = objNode.Next
Loop
End Sub
レスが遅くなってすいませんm(__)m
Nextプロパティでとりあえず解決しそうです。
こんなところでつまづいていたかと思うとお恥ずかしい限りです^^;
okuさん、ありがとうございました!!!
また、何かあれば、よろしくお願いいたします★
ツイート | ![]() |