De todos modos voy a poner el código fuente completo con la explicación:
En TreeView1 irán las tablas y en TreeView2 irán las vistas. "db" es un objeto tipo Connection, "nodx" es un objeto tipo Node, "rs" y "rs1" son Recordset, "count" es una variable tipo Integer. El estilo (propiedad Style) de los TreeViews es el número 7.
db.Open miConnectionString 'cadena de conexión a la BD en SQL Server
Set rs = db.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
count = 0
Set nodx = TreeView1.Nodes.Add(, , "Root", "El título que le quiero poner")
Do Until rs.EOF
count = count + 1
Set nodx = TreeView1.Nodes.Add(1, tvwChild, "a" & str(count), rs!TABLE_NAME)
rs.MoveNext
Loop
rs.Close
TreeView2.Nodes.Clear
rs1 = db.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "VIEW")) ' <<== Acá
count = 0
Set nodx = TreeView2.Nodes.Add(, , "Root", "El título que le quiero poner")
Do Until rs1.EOF
count = count + 1
Set nodx = TreeView2.Nodes.Add(1, tvwChild, "a" & str(count), rs1!TABLE_NAME)
rs1.MoveNext
Loop
rs1.Close
Si se intenta abrir el recordset rs1 con db.OpenSchema(adSchemaViews) nos dará error, y si se le coloca un On Error Resume Next, el bucle que recorre rs1 será infinito, pues como rs1 nunca se abrió, su propiedad EOF nunca será verdadera.
No hay comentarios:
Publicar un comentario