TreeViewのキーを表示通りの順番で取得するには??

解決


あや★  2003-09-23 00:50:27  No: 108785

はじめまして。
現在、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


oku  URL  2003-09-23 07:23:21  No: 108786

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


あや★  2003-09-25 18:38:37  No: 108787

レスが遅くなってすいませんm(__)m

Nextプロパティでとりあえず解決しそうです。
こんなところでつまづいていたかと思うとお恥ずかしい限りです^^;
okuさん、ありがとうございました!!!
また、何かあれば、よろしくお願いいたします★


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加