Buenas amigos de solocodigo.
En access-2000 tengo 1 tabla de PROGRAMAS y otra de SUBPROGRAMAS, los campos de la tabla de PROGRAMAS SON LOS SIGUIENTES(Codigo, NombrePrograma) y los de la 2da. tabla son (Codigo, CodProg, NombreSubprograma); en esta ùltima tabla CodProg contiene el Còdigo del programa al cual pertenece el Subprograma en cuestiòn.
Estoy tratando llenar un control DATA TREE que me muestre jeràrquicamente para cada programa los subprogramas respectivos.
A continuaciòn les expongo el còdigo VBA con el que pretendo hacer esto:
Private Sub Form_Load()
Dim Cnn As ADODB.Connection, _
RstProgramas As ADODB.Recordset, _
RstSubProgramas As ADODB.Recordset, _
NodX As Node, _
StrCodPrograma As String
Set Cnn = New ADODB.Connection
Set RstProgramas = New ADODB.Recordset
Set RstSubProgramas = New ADODB.Recordset
Cnn.ConnectionString = "File Name=C:\Documents and Settings" _
& "\mcastro.MARN" _
& "\Escritorio" _
& "\ConexionRac.udl"
Cnn.Open
RstProgramas.Source = "Tbl_Programas"
RstProgramas.ActiveConnection = Cnn
RstProgramas.Open
TvwPrueba.Style = tvwTreelinesPlusMinusText
TvwPrueba.LineStyle = tvwRootLines
Do While Not RstProgramas.EOF
Set NodX = TvwPrueba.Nodes.Add(, , RstProgramas
("PRO_Codigo").Value, _
RstProgramas"PRO_Nombre").Value) RstSubProgramas.Source = "SELECT * " _
& "FROM Tbl_SubProgramas " _
& "WHERE SPG_CodProg = '" & RstProgramas("PRO_Codigo").Value & "'"
RstSubProgramas.ActiveConnection = Cnn
RstSubProgramas.Open
Do While Not RstSubProgramas.EOF
Set NodX = TvwPrueba.Nodes.Add(RstProgramas("PRO_Codigo").Value, _
tvwChild, _
RstSubProgramas("SPG_Codigo").Value, _
RstSubProgramas("SPG_SubPrograma").Value)
RstSubProgramas.MoveNext
Loop
RstSubProgramas.Close
RstProgramas.MoveNext
Loop
Cnn.Close
End Sub
El problema que tengo es que en la lìnea que marquè en rojo me sale el siguiente error: CLAVE INVÀLIDA y no sè porquè ya que verifico y la clave (RstProgramas("PRO_Codigo").Value) es un campo texto de 4 posiciones tiene informaciòn.
Les agradezco de antemano cualquier ayuda al respecto y saludos a todos.