RecordSet Jerarquico
Publicado por julio (48 intervenciones) el 23/11/2007 21:19:43
Tengo una base de datos en Access que al recuperar las consultas, por la cantidad de registros, resulta lento. Por el momento no quiero migrar a un gestor de base de datos.
Estoy intentado usar recorset jerarquico, creo que con este recurso las consultas serán mas rapidas. Pero más allá de encontrar la solucion a la lentitud, no se como se usa el Shape en ADO.
Fuí a la ayuda de Visual Bsic, y encontré un ejemplo que al copiar el codigo en formulario automaticamente da líne roja de error.
(tambien visite la pagina de microsoft como utilizar el comando SHAPE de ADO, tampoco encuentro que tengo que hacer para poder usarlo en mi código)
Que tengo que activar para poder usarlo en Visual Basic 6: A continuacion el código que aparece en la ayudad de Visual Basic.
Sub datashape()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rsChapter As Variant
cnn.Provider = "MSDataShape"
cnn.Open "Data Provider=MSDASQL;" & _
"DSN=vfox;uid=sa;pwd=vfox;database=pubs”
'PASO 1
rst.StayInSync = FALSE
rst.Open "SHAPE {select * from authors}
APPEND ({select * from titleauthor} AS chapter
RELATE au_id TO au_id)",
cnn
'PASO 2
While Not rst.EOF
Debug.Print rst("au_fname"), rst("au_lname"),
rst("state"), rst("au_id")
'PASO 3
rsChapter = rst("chapter")
'PASO 4
While Not rsChapter.EOF
Debug.Print rsChapter(0), rsChapter(1),
rsChapter(2), rsChapter(3)
rsChapter.MoveNext
Wend
rst.MoveNext
Wend
End Sub
Desde ya muchas gracias por vuestra ayuda
Estoy intentado usar recorset jerarquico, creo que con este recurso las consultas serán mas rapidas. Pero más allá de encontrar la solucion a la lentitud, no se como se usa el Shape en ADO.
Fuí a la ayuda de Visual Bsic, y encontré un ejemplo que al copiar el codigo en formulario automaticamente da líne roja de error.
(tambien visite la pagina de microsoft como utilizar el comando SHAPE de ADO, tampoco encuentro que tengo que hacer para poder usarlo en mi código)
Que tengo que activar para poder usarlo en Visual Basic 6: A continuacion el código que aparece en la ayudad de Visual Basic.
Sub datashape()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rsChapter As Variant
cnn.Provider = "MSDataShape"
cnn.Open "Data Provider=MSDASQL;" & _
"DSN=vfox;uid=sa;pwd=vfox;database=pubs”
'PASO 1
rst.StayInSync = FALSE
rst.Open "SHAPE {select * from authors}
APPEND ({select * from titleauthor} AS chapter
RELATE au_id TO au_id)",
cnn
'PASO 2
While Not rst.EOF
Debug.Print rst("au_fname"), rst("au_lname"),
rst("state"), rst("au_id")
'PASO 3
rsChapter = rst("chapter")
'PASO 4
While Not rsChapter.EOF
Debug.Print rsChapter(0), rsChapter(1),
rsChapter(2), rsChapter(3)
rsChapter.MoveNext
Wend
rst.MoveNext
Wend
End Sub
Desde ya muchas gracias por vuestra ayuda
Valora esta pregunta


0