Problemas para acceder a campo de recordset

Trabajo con una macro de excel que pretende ir pasando por una columna determinada y tomar el valor de cada celda. Con ese valor se carga un select para obtener datos de una BD SQL. Los datos recibidos son almacenados en un recordset. Se recorre este recordset y los valores de sus campos se escriben en otras celdas contiguas. El problemas es que cuándo se corre la macro da error " 1004, el valor BOF o EOF es True o el registro actual se eliminó, la operación solicitada requiere un registro actual "

No se si se debe a que el recordset que se obtiene es de un sólo registro y 3 campos, porque siempre había trabajado con recordset de varios registros. Dejo copia del código para ver si me pueden ayudar porque no salgo de este problema y llevo varios días estancado. De antemano mil gracia y puntuación segura para mis salvadores.

For fila = 9 To 13
codigo = Range("C" & fila).Value

sSelect = "SELECT dbo.gbkmut.artcode AS Articulo, Items_1.Description_0 AS Descripcion, SUM(dbo.gbkmut.aantal) AS Inventario FROM dbo.gbkmut INNER JOIN dbo.Items AS Items_1 ON dbo.gbkmut.artcode = Items_1.ItemCode INNER JOIN dbo.grtbk ON dbo.gbkmut.reknr = dbo.grtbk.reknr AND dbo.gbkmut.reknr = dbo.grtbk.reknr WHERE (dbo.gbkmut.warehouse = 'EAE1') AND (dbo.grtbk.omzrek = 'G') AND (Items_1.Condition = 'A') AND (dbo.gbkmut.artcode IN ('codigo')) AND (dbo.gbkmut.transtype = 'N') GROUP BY Items_1.Description_0, dbo.gbkmut.artcode, Items_1.PackageDescription"
cn.ConnectionString = "Provider=SQLOLEDB;Initial Catalog=209;Data Source=eserver;integrated security=SSPI;persist security info=True;"

cn.Open
rs.Open sSelect, cn, adOpenStatic
' Do While not rs.EOF
col = 10
For i = 0 To rs.Fields.Count - 1
Cells(fila, col).Value = rs.Fields(i)
col = col + 1
Next
rs.NextRecordset
Loop


fila = fila + 1
rs.Close
cn.Close
Set cn = Nothing
Set rs = Nothing
Next

Añade tu respuesta

Haz clic para o