Newsgroup: it.comp.appl.access
Titolo: Tabelle adatte a popolamento treeview

Ciao a tutti voi,
sto cercando di trovare un sistema flessibile per popolare una treeview con
una o più tabelle. Cerco di spiegarvi cosa voglio fare:
La treeview mi deve raggruppare una serie di categorie, sub categorie etc su
vari livelli a scelta dell'utente. Ho bisogno di avere una gerarchia del
tipo:
01 - Lavori Stradali
02 - Lavori Edili
        02.01 - Scavi e movimenti di terra
        02.02 - Murature
            02.02.01 - Murature in pietrame
            02.02.02 - Murature in mattoni
                02.02.02.01 - Blocchi Poroton
                    02.02.02.01_AA16274 - Blocco Poroton spessore 30 cm.
etc.. etc..
Quest'ultimo elemento dovrà avere i dati da prelevare in una tabella in cui
saranno contenute tutte le caratteristiche tecniche e dimensionali.
Non ci sono quindi livelli predefiniti, ma deve esserci la possibilità di
aggiungere e togliere elementi a piacimento.
Come posso organizzare le tabelle e le relazioni per avere una struttura di
questo tipo in funzione della visualizzazione con una treeview?
Grazie in anticipo,
-- 
Massimiliano Pratelli

 ha scritto nel messaggio news:43830c91$0$16203$4faf...@reader3.news.tin.it...

Se non ricordo male nel Northwind (o come diavolo si scrive) c'è un esempio di utilizzo della treeview; poi sul sito MS trovi 
l'esempio; poi su questo sito 
http://www.donkarl.com/it/CISA/Download.htm
 c'è un altro esempio; poi cercando in questo NG trovi 
altri suggerimenti... Basta?
Ciao.
-- 
Sergio MAZZA 


Grazie per la tua risposta ma il mio quesito è mirato sopratutto al discorso
di come sia meglio stutturare la tabella che poi mi serve per il
ripopolamento... o meglio come organizzo le tabelle? Quale struttura mi
conviene scegliere?
Posso avere un record i cui dati mi compaiono nella treeview al 3° livello,
altri al 5° altri al 8° e così via.
Spero di essermi spiegato... :-)
Ciao


Non credo che l'utilizzo di un controllo sia decisivo sulla scelta della struttura/relazione delle tabelle; casomai è il contrario, 
ossia il controllo si dovrà "adeguare" alla struttura/relazione delle tabelle.
Quindi se pensi "male" la struttura/relazione tra le tabelle utilizzarai male anche gli altri controlli e non solo il treeview.
Alla fine al controllo treeview gliene importa poco da dove arrivano i dati, sei tu che gli dai un significato logico in base alla 
posizione dove li scrivi/inserisci nell'albero e come li presenti all'utente...
Ciao.
-- 
Sergio MAZZA 


Si... ho affrontato il problema troppo "di petto" senza ragionare molto.
Sono riuscito comunque ad impostare le tabelle credo, nel modo giusto. Poi
ho scritto la procedura per il popolamentomcome segue ma non funziona...
Ho dichiarato prima...
Public tmpNode As MSComctlLib.Node
Private Sub Form_Load()
    'Popola la TreeVieW
    Dim dbsCurrent As Database
    Dim rstTree As Recordset
    Dim stRelative As String
    Dim stRelationShip As String
    Dim stKey As String
    Dim stText As String
    Set dbsCurrent = CurrentDb
    Set rstTree = dbsCurrent.OpenRecordset("SELECT * FROM tbl_Gerarchia
ORDER BY Key")
    rstTree.MoveFirst
    With rstTree
        Do While Not .EOF
            If Not IsNull(rstTree("Relative").Value) Then
                stRelative = rstTree("Relative").Value
            Else
                stRelative = ""
            End If
            If Not IsNull(rstTree("RelationShip").Value) Then
                stRelationShip = rstTree("RelationShip").Value
            Else
                stRelationShip = ""
            End If
            stKey = rstTree("Key").Value
            stText = rstTree("Text").Value
(*)       Set tmpNode = Me.TreeView.Nodes.Add(stRelative, stRelationShip,
stKey, stText)
            tmpNode.Expanded = False
            .MoveNext
        Loop
        .Close
    End With
End Sub
Nella Riga (*) mi da un errore di Run Time "Chiave non valida"... dove
sbaglio?
Sono ancora in fase di apprendimento/Test quindi scusatemi se ci sono degli
strafalcioni o c'è abbondanza di codice.
Grazie,
Massimiliano


Ho appena trovato la spiegazione al quale probabilmente ti riferivi sul
controllo TreeView applicato al db Northwind... me lo studierò per benino...
Grazie.
Massi