getrows devuelve valores NULL en algunos casos
Publicado por xabi (3 intervenciones) el 13/09/2006 10:28:30
Buenas!!
Tengo un pequeño GRAN problema.Pensé que utilizando GetRows iba a optimizar todo el acceso a datos pero me está creando bastantes dolores de cabeza.
El caso es el siguiente:
tengo una hoja de excel en la que quiero recorrer todo su contenido pero sin hacerlo pesado.Para ello vuelco toda la info con getrows:
Dim con As ADODB.Connection
Dim rec As New ADODB.Recordset 'estas variables son para el recordset del EXCEL
Dim tabla As Variant
Dim i As Integer
Dim j As Integer
Set con = New ADODB.Connection
With con
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = " + NombreArchivo_cerrar
.Properties("Extended Properties") = "Excel 8.0;HDR=Yes"
.Open
End With
rec.Open "SELECT * FROM [Hoja1$]", con, adOpenStatic, adLockReadOnly
If Not rec.EOF Then
tabla = rec.GetRows
End If
rec.Close
Set rec = Nothing
con.Close
Set con = Nothing
For i = 0 To UBound(tabla, 2)
For j = 0 To UBound(tabla, 1)
MsgBox " " & tabla(j, i)
Next
Next
el problema viene cuando veo los resultados:Algunos valores me los toma como NULL y otros me los vuelca bien,he leido que tiene que ver con algun tema de cursores,pero no he podido solucionar nada.Alguna idea de a que puede deberse?
Os dejo aqui el link a el post que te explica mas o menos alguna solucion,si alguien la encuentra por favor escribirme al mail,es muy muy importante.
link:http://groups.google.es/group/microsoft.public.es.asp/browse_thread/thread/59d11a68b0d5148d/ac03789ed19ecffb?lnk=st&q=%22problemas%22%2Bgetrows&rnum=2&hl=es#ac03789ed19ecffb
muchiiiiisimas gracias.
Tengo un pequeño GRAN problema.Pensé que utilizando GetRows iba a optimizar todo el acceso a datos pero me está creando bastantes dolores de cabeza.
El caso es el siguiente:
tengo una hoja de excel en la que quiero recorrer todo su contenido pero sin hacerlo pesado.Para ello vuelco toda la info con getrows:
Dim con As ADODB.Connection
Dim rec As New ADODB.Recordset 'estas variables son para el recordset del EXCEL
Dim tabla As Variant
Dim i As Integer
Dim j As Integer
Set con = New ADODB.Connection
With con
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = " + NombreArchivo_cerrar
.Properties("Extended Properties") = "Excel 8.0;HDR=Yes"
.Open
End With
rec.Open "SELECT * FROM [Hoja1$]", con, adOpenStatic, adLockReadOnly
If Not rec.EOF Then
tabla = rec.GetRows
End If
rec.Close
Set rec = Nothing
con.Close
Set con = Nothing
For i = 0 To UBound(tabla, 2)
For j = 0 To UBound(tabla, 1)
MsgBox " " & tabla(j, i)
Next
Next
el problema viene cuando veo los resultados:Algunos valores me los toma como NULL y otros me los vuelca bien,he leido que tiene que ver con algun tema de cursores,pero no he podido solucionar nada.Alguna idea de a que puede deberse?
Os dejo aqui el link a el post que te explica mas o menos alguna solucion,si alguien la encuentra por favor escribirme al mail,es muy muy importante.
link:http://groups.google.es/group/microsoft.public.es.asp/browse_thread/thread/59d11a68b0d5148d/ac03789ed19ecffb?lnk=st&q=%22problemas%22%2Bgetrows&rnum=2&hl=es#ac03789ed19ecffb
muchiiiiisimas gracias.
Valora esta pregunta


0