oregon ha scritto:
Se ID_Azienda è un valore numerico non va tra apici
Ti ringrazio ma non funziona.
Se vuoi darci un occhio questo è ciò che ho provato --> ciò che tu dici mi porta all'errore 3265 (ultimo errore) oppure al penultimo.
Mi rifaccio all'esempietto con tre tabella banali. Aziende, Ordini, Fatture. GLi ID sono tutti chiavi primarie.
TREE VIEW CON NOMI AZIENDE
• ID_Azienda ?Set tempNode = tv.Nodes.Add("C", tvwChild, "CL" & rsC.Fields(
ID_Azienda), rsC.Fields("Nome")) -? errore su Private Sub Comando2_Click() ? variabile non definita ? per risolverlo devo eliminare Option Explicit ? a questo punto il treeview si popola con i nome delle aziende
• “ID_Azienda”? ……… rsC.Fields(
“ID_Azienda”)………… ? mantengo Option Explicit e il tree view si popola con i nomi della aziende. Se tolgo Option Explicit il tree view si popola comunque con con i nomi d’azienda
TREE VIEW CON NOMI ORDINI
ERRORE 91 --> tra apici metto gli ID ed elimino Option Explicit --> errore su Do While Not rsO.EOF
Option Compare Database
Private Sub Comando2_Click()
Dim tempNode As MSComctlLib.Node
Dim rsC As DAO.Recordset 'record clienti
Dim rsO As DAO.Recordset 'record ordini
Dim rsF As DAO.Recordset 'record fatture
tv.Nodes.Clear
Set tempNode = tv.Nodes.Add(, , "C", "Azienda")
'CARICO I NOMI DELLE AZIENDE
Set rsC = CurrentDb.OpenRecordset("SELECT ID_Azienda,Nome FROM Azienda ORDER BY Nome", , dbReadOnly)
Do While Not rsC.EOF
Set tempNode = tv.Nodes.Add("C", tvwChild, "CL" & rsC.Fields("ID_Azienda"), rsC.Fields("Nome"))
'CARICO GLI ORDINI
Set rs0 = CurrentDb.OpenRecordset("SELECT ID_Ordine, Ordine FROM Ordine WHERE ID_Azienda=""" & rsC.Fields("ID_Azienda") & """ ORDER BY Ordine DESC", , dbReadOnly)
Do While Not rsO.EOF
Set tempNode = tv.Nodes.Add("CL" & rsC.Fields("ID_Azienda"), tvwChild, "ORD" & rsO.Fields("ID_Ordine"), rsO.Fields("Ordine"))
rsO.MoveNext
Loop
rsO.Close
rsC.MoveNext
Loop
rsC.Close
End Sub
Errore di compilazione variabile non definita --> con ID_.... tra “” --> errore su Private Sub Comando2_Click()
Option Compare Database
Option Explicit
Private Sub Comando2_Click()
Dim tempNode As MSComctlLib.Node
Dim rsC As DAO.Recordset 'record clienti
Dim rsO As DAO.Recordset 'record ordini
Dim rsF As DAO.Recordset 'record fatture
tv.Nodes.Clear
Set tempNode = tv.Nodes.Add(, , "C", "Azienda")
'CARICO I NOMI DELLE AZIENDE
Set rsC = CurrentDb.OpenRecordset("SELECT ID_Azienda,Nome FROM Azienda ORDER BY Nome", , dbReadOnly)
Do While Not rsC.EOF
Set tempNode = tv.Nodes.Add("C", tvwChild, "CL" & rsC.Fields("ID_Azienda"), rsC.Fields("Nome"))
'CARICO GLI ORDINI
Set rs0 = CurrentDb.OpenRecordset("SELECT ID_Ordine, Ordine FROM Ordine WHERE ID_Azienda=""" & rsC.Fields("ID_Azienda") & """ ORDER BY Ordine DESC", , dbReadOnly)
Do While Not rsO.EOF
Set tempNode = tv.Nodes.Add("CL" & rsC.Fields("ID_Azienda"), tvwChild, "ORD" & rsO.Fields("ID_Ordine"), rsO.Fields("Ordine"))
rsO.MoveNext
Loop
rsO.Close
rsC.MoveNext
Loop
rsC.Close
End Sub
Errore di compilazione variabile non definita ? senza “” --> tolgo gli apici come mi è stato detto --> errore su Private Sub Comando2_Click()
Option Compare Database
Option Explicit
Private Sub Comando2_Click()
Dim tempNode As MSComctlLib.Node
Dim rsC As DAO.Recordset 'record clienti
Dim rsO As DAO.Recordset 'record ordini
Dim rsF As DAO.Recordset 'record fatture
tv.Nodes.Clear
Set tempNode = tv.Nodes.Add(, , "C", "Azienda")
'CARICO I NOMI DELLE AZIENDE
Set rsC = CurrentDb.OpenRecordset("SELECT ID_Azienda,Nome FROM Azienda ORDER BY Nome", , dbReadOnly)
Do While Not rsC.EOF
Set tempNode = tv.Nodes.Add("C", tvwChild, "CL" & rsC.Fields(ID_Azienda), rsC.Fields("Nome"))
'CARICO GLI ORDINI
Set rs0 = CurrentDb.OpenRecordset("SELECT ID_Ordine, Ordine FROM Ordine WHERE ID_Azienda=""" & rsC.Fields(ID_Azienda) & """ ORDER BY Ordine DESC", , dbReadOnly)
Do While Not rsO.EOF
Set tempNode = tv.Nodes.Add("CL" & rsC.Fields(ID_Azienda), tvwChild, "ORD" & rsO.Fields(ID_Ordine), rsO.Fields("Ordine"))
rsO.MoveNext
Loop
rsO.Close
rsC.MoveNext
Loop
rsC.Close
End Sub
Errore 3265 --> ID_... senza apici e tolgo Option Explicit --> erorre su Set tempNode = tv.Nodes.Add("C", tvwChild, "CL" & rsC.Fields(ID_Azienda), rsC.Fields("Nome"))
Option Compare Database
Private Sub Comando2_Click()
Dim tempNode As MSComctlLib.Node
Dim rsC As DAO.Recordset 'record clienti
Dim rsO As DAO.Recordset 'record ordini
Dim rsF As DAO.Recordset 'record fatture
tv.Nodes.Clear
Set tempNode = tv.Nodes.Add(, , "C", "Azienda")
'CARICO I NOMI DELLE AZIENDE
Set rsC = CurrentDb.OpenRecordset("SELECT ID_Azienda,Nome FROM Azienda ORDER BY Nome", , dbReadOnly)
Do While Not rsC.EOF
Set tempNode = tv.Nodes.Add("C", tvwChild, "CL" & rsC.Fields(ID_Azienda), rsC.Fields("Nome"))
'CARICO GLI ORDINI
Set rs0 = CurrentDb.OpenRecordset("SELECT ID_Ordine, Ordine FROM Ordine WHERE ID_Azienda=""" & rsC.Fields(ID_Azienda) & """ ORDER BY Ordine DESC", , dbReadOnly)
Do While Not rsO.EOF
Set tempNode = tv.Nodes.Add("CL" & rsC.Fields(ID_Azienda), tvwChild, "ORD" & rsO.Fields(ID_Ordine), rsO.Fields("Ordine"))
rsO.MoveNext
Loop
rsO.Close
rsC.MoveNext
Loop
rsC.Close
End Sub