Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VBA] Errore 35610 Aggiunta Nodo TreeView

    Salve a tutti, lavoro con VBA su Access 2003 e sto cercando di implementare una TreeView utilizzando una tabella per i dati.
    La tabella contiene tre campi: NodoGenitore, ChiaveNodo, TestoNodo e questo è il codice VBA
    codice:
    Sub addNodes()
        Dim objTree As TreeView
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
        
        Set db = currentDb
        Set rst = db.OpenRecordset("SELECT * FROM Livelli")
        
        Set objTree = Me.xTree.Object
        
        rst.MoveFirst
        Do Until rst.EOF
            If IsNull(rst![NodoGenitore]) Then
                objTree.Nodes.Add , , rst![ChiaveNodo], rst![TestoNodo]
            Else
                objTree.Nodes.Add rst![NodoGenitore], tvwChild, rst![ChiaveNodo], rst![TestoNodo]
            End If
            rst.MoveNext
        Loop
    End Sub
    Quando tento di aprire la maschera ricevo il fatidico errore 35610 e mi viene evidenziata la riga dopo l'Else, ma non riesco a capire il perchè dell'errore anche perchè in fase di debug i valori assegnati alle variabili sembrano apposto

    Grazie

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    forse risolvi controllando che oltre che null non sia anche vuoto
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    Grazie per l'aiuto

    ho provato a modificare secondo il tuo suggerimento ma nessuna novità

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    a questo punto devi andare di debug
    codice:
    Sub addNodes()
        Dim objTree As TreeView
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
    
        on error resume next
    
        Set db = currentDb
        Set rst = db.OpenRecordset("SELECT * FROM Livelli")
        
        Set objTree = Me.xTree.Object
        
        rst.MoveFirst
        Do Until rst.EOF
            debug.print "genitore "& rst![NodoGenitore] &" null: "& IsNull(rst![NodoGenitore])
            If IsNull(rst![NodoGenitore]) Then
                objTree.Nodes.Add , , rst![ChiaveNodo], rst![TestoNodo]
            Else
                objTree.Nodes.Add rst![NodoGenitore], tvwChild, rst![ChiaveNodo], rst![TestoNodo]
            End If
            debug.print vbtab & "errore:"& Err.Number 
            rst.MoveNext
        Loop
    End Sub
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #5
    Ho aggiunto anche la chiave del nodo così da avere un quadro più completo e questo è l'output, continuo a non capire il perchè dell'errore

    codice:
    Genitore  null: Vero, Nodo: A
        Errore: 0
    Genitore A null: Falso, Nodo: A1
        Errore: 35610
    Genitore A1 null: Falso, Nodo: A1-1
        Errore: 35610

  6. #6
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  7. #7
    La cosa più divertente è che se inserisco manualmente gli stessi dati funziona

    codice:
    objTree.Nodes.Add , , "A", "Root"
    objTree.Nodes.Add "A", tvwChild, "A1", "LVL1"
    objTree.Nodes.Add "A1", tvwChild, "A1-1", "LVL2"

  8. #8

    RISOLTO

    Risolto assegnando i valori a delle variabili String

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.