Recordset SQL VB

khanrogi
06 de Enero del 2005
Hola a todos
Estoy haciendo una practica para la universidad y tengo el siguiente problema con este select y el recordset:

select nom_equip, count(numero), avg(import_fitxa) from equips, futbolistes, nacionalitat
where futbolistes.codi_equip = equips.codi_equip
and codi_nac = codi_nacionalitat
and num_llic_federativas > :valor
group by nom_equip
order by avg(import_fitxa);
Como ven el select me devolvera 3 columnas, una es el nombre de un atributo, pero las otras 2 son funciones de agrupamiento (o como les quieran decir) y no se como acceder a ellas mediante un recordset. Ejemplo, para el atributo nom_equip haria
Dim rs As Recordset
Set rs = conEditores.OpenRecordset("<el select>")
rs.MoveFirst

'Para acceder a nom equip perfecto
List1.AddItem ( CStr(rs!nom_equip))

'PERO!!!!!!!PARA ACCEDER AL COUNT???

List1.AddItem ( CStr(rs!count(numero)))
...
numero es un atributo de la tabla futbolistes, pero VB cree que es una variable y no me deja hacer nada.

Como puedo acceder a este dato del recordset, cuando son funciones como count, avg, max, min, o lo que sea...

Gracias




l_island
06 de Enero del 2005
Cambia la SQL para utilizar alias en lugar de los nombres de los campos:

select nom_equip, count(numero) As Num, avg(import_fitxa) as Media from equips, futbolistes, nacionalitat

Luego haces referencia al alias en lugar del campo:

List1.AddItem ( CStr(rs!num))

y ya está.

Salduos!!
l_island

khanrogi
06 de Enero del 2005
Gracias I_Island!!!
Habia pensado en utilizar alias, pero en SQL los alias son " " y no me servian. Ahora que se que se hace con el As ya esta
Nuevamente muchas gracias

khanrogi
06 de Enero del 2005
Una cosa mas:

Estoy haciendo una actualizacion de la base de datos

Tengo dos controles Text, uno para la clave primaria y el otro para el nuevo valor, y luego un List con los campos de la tabla, para elegir que campo queremos actualizar. Mi problema es parecido al anterior
Cuando quiero hacer

rs.Update

rs!CStr(List1.Text) = Text2.Text 'ERROR!!!!

Yo ya lo suponia, el VB me da error dice que el Recordset rs no tiene ningun miembro CStr lo ke sea...
Alguna idea???
Gracias