revisar este codigo

max
19 de Junio del 2004
bueno..me he bajado un programa en viasual basic el cual jala datos de access para putilizar un treeview pero ene ste codigo sale error donde dice:

Dim wks As Workspace






Option Explicit
Dim objTree As Control
Dim vDatos2 As Variant

Public Sub Populate(inArrayA As Variant)
'Entra un Array 2D
'Primera D: Campo
'Seguda D: Indice
'Ej. inArrayA(1,1)="100"
' inArrayA(2,1)="Capital"
Dim lCont As Long
Dim nodoX As Node
Dim lX As Long
Dim lProx As Long
Dim clave$, texto$

'Añade el primer nodo
'Como las claves van a ser números, le añado
'una N, de Nodo, sin más significados metafísicos.

clave = "N"
texto = "Plan"
Set nodoX = objTree.Nodes.Add(, , clave, texto)
nodoX.Expanded = True
lCont = 0

Do Until lCont > UBound(inArrayA, 2)
'Hacemos la clave y el texto
clave = "N" & CStr(inArrayA(0, lCont))
texto = CStr(inArrayA(0, lCont)) & " " & inArrayA(1, lCont)
'Comprobamos la longitud de los caracteres
lX = Len(nodoX.Key)
lProx = Len(clave)

Select Case lProx - lX
Case Is < 0 'Tiene menos caracteres
'El nodo actual pasa a ser el padre
Set nodoX = nodoX.Parent
'No añade nada
Case 0 'Tienen los mismos caracteres (mismo nivel)
'El nodo actual pasa a ser el añadido
Set nodoX = objTree.Nodes.Add(nodoX.Key, tvwNext, clave, texto)
nodoX.Expanded = True
lCont = lCont + 1
Case Is > 0 'Tiene más caracteres (Es un Hijo)
Set nodoX = objTree.Nodes.Add(nodoX.Key, tvwChild, clave, texto)
nodoX.Expanded = True
lCont = lCont + 1
End Select

Loop



End Sub

Private Sub cmdCargaDatos_Click()
'Esta parte de aquí no tiene importancia
'sólo hace un array desde una tabla de Access
'El array puede hacerse desde un archivo de texto
'o desde el mismo código

Dim wks As Workspace
Dim db As Database
Dim vDatos As Variant
Dim sUser As String, sPassword As String
sUser = DBEngine.Workspaces(0).UserName
sPassword = ""
Set wks = DBEngine.CreateWorkspace("wks", sUser, sPassword)

Set db = wks.OpenDatabase(App.Path & "Plan.mdb")
Dim sSQL$
Dim qrydatos As Recordset
sSQL = "SELECT * FROM Plan ORDER BY IDCuenta"
Set qrydatos = db.OpenRecordset(sSQL, dbOpenSnapshot)
If qrydatos.BOF And qrydatos.EOF Then
vDatos = vbNull
Else
qrydatos.MoveLast
qrydatos.MoveFirst
'No utilizar GetRows para una tabla grande

vDatos = qrydatos.GetRows(qrydatos.RecordCount)
End If
Set qrydatos = Nothing
db.Close
wks.Close
Set db = Nothing
Set wks = Nothing
vDatos2 = vDatos
cmdVerPlan.Enabled = True
cmdVerPlan.SetFocus


End Sub

Private Sub cmdVerPlan_Click()

Populate vDatos2

End Sub

Private Sub Form_Initialize()
Set objTree = TreeView1

End Sub

Private Sub Form_Resize()
Dim lScaleh&

lScaleh = ScaleHeight
With TreeView1
.Move 15, 15, ScaleWidth - 15, lScaleh - 500

End With
cmdCargaDatos.Top = lScaleh - 400
cmdVerPlan.Top = lScaleh - 400

End Sub
..................................................



haber si alguien me ayuda

molen
19 de Junio del 2004
Referencias > Microsoft DAO...