Saltar al contenido

Máximo de registros en un recorset


DaveRoos

Recommended Posts

publicado

Hola.

He escrito un Macro en un libro de Excel para que traiga información desde otro archivo de Excel, (ambos .xls), pero el código sólo trae 16.383 filas y las demás las borra.

¿Puede haber un máximo para este tipo de código?¿Por cuál lo puedo reemplazar para que no tenga este problema?. Transcribo el código que hace la conexión y trae los registros:

'crea la conexión
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= C:\Users\Proyecto\gestion.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1;"""

'crea el recordset
Set rs = New ADODB.Recordset
'Selecciona los datos
Sql = "SELECT * FROM [gestion$] "

'escribe los datos
rs.Open Sql, Conn, adOpenStatic, adLockOptimistic[/CODE]

publicado

hola [uSER=213350]@DaveRoos[/uSER]:

el problema debe ser que a partir de la fila 16.383, los datos ya no esten con el mismo formato de los registros anteriores.

Saludos

publicado

No, no es por diferencias de formato. Probé creando dos archivos de cero, con sólo la conexión y los registros, y también tiene exactamente el mismo limite de filas.

Ahora, probé pasando los archivos a .xlsx, y el código de la conexión al de abajo, y aparentemente me permite traer todos los registros que necesito. Pero no se si puedo migrar todo a esta nueva versión de Excel, ya que los reportes que bajo desde un sistema ERP, ya salen en .xls:

Set Conn = New ADODB.Connection

Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Users\Familia\Desktop\Proyecto\Macro\prueba.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;"""

'crea el objeto recordset
Set rs = New ADODB.Recordset
'Selecciona los datos
Sql = "SELECT * FROM [prueba$]"[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.