Fields de un Recordset (ADO desde VB6)

18/06/2005 - 02:47 por Mauricio López [uy] | Informe spam
Amigos:

Tengo el siguiente código:

Public Function countVendedores() As Byte
Dim flag As Boolean
Dim i As Byte
Dim rec As New ADODB.Recordset

While i <= 4 And flag = False
If rec.Fields(i) = 0 Then <<= PROBLEMA
flag = True
Else
i = i + 1
End If
Wend

If flag Then countVendedores = i + 1

Lo que quiero es ir recorriendo los distintos campos que trae el
Recordset y verificar en cuál hay un 0. ¿Por qué no funciona
rec.Fields(i) si rec.Fields(0) sí funciona? Rec.Fields(i) devuelve el
error:
"No se encontró el elemento en la coleción que corresponde con el
ordinal pedido"

Desde ya muchas gracias por su ayuda.


Saludos!

Mauricio López
Maldonado - Uruguay

Preguntas similare

Leer las respuestas

#1 Juan Ant.
18/06/2005 - 09:58 | Informe spam
¿Puede ser que tu Recordset tenga 4 campos? En ese caso los índices
irían de 0 a 3, y te estaría fallando cuando acceda a rec.Fields(4).
Si es así, dile que While i<4, o bien i<=3

Saludos
Juan Ant.
Respuesta Responder a este mensaje
#2 Maxi
18/06/2005 - 16:33 | Informe spam
Hola, me parece que te confundiste de foro, este es un foro de SqlSErvery no
de Visual Basic, te recomiendo que esta pregunta la hagas en el foro de
programacion donde te podran dar una mejor ayuda


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Mauricio López [uy]" escribió en el
mensaje news:uI$
Amigos:

Tengo el siguiente código:

Public Function countVendedores() As Byte
Dim flag As Boolean
Dim i As Byte
Dim rec As New ADODB.Recordset

While i <= 4 And flag = False
If rec.Fields(i) = 0 Then <<= PROBLEMA
flag = True
Else
i = i + 1
End If
Wend

If flag Then countVendedores = i + 1

Lo que quiero es ir recorriendo los distintos campos que trae el
Recordset y verificar en cuál hay un 0. ¿Por qué no funciona
rec.Fields(i) si rec.Fields(0) sí funciona? Rec.Fields(i) devuelve el
error:
"No se encontró el elemento en la coleción que corresponde con el
ordinal pedido"

Desde ya muchas gracias por su ayuda.


Saludos!

Mauricio López
Maldonado - Uruguay

Respuesta Responder a este mensaje
#3 Mauricio López [uy]
24/06/2005 - 20:05 | Informe spam
Juan:

Ahora que lo dices, suena a que puede ser ahí el error. Voy a
probarlo. Gracias.


Saludos!

Mauricio López
Maldonado - Uruguay
-
¿Puede ser que tu Recordset tenga 4 campos? En ese caso los índices
irían de 0 a 3, y te estaría fallando cuando acceda a rec.Fields(4).
Si es así, dile que While i<4, o bien i<=3

Saludos
Juan Ant.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida