Visual Basic - ESTOY DESESPERADA!!

Life is soft - evento anual de software empresarial
 
Vista:

ESTOY DESESPERADA!!

Publicado por deat (3 intervenciones) el 05/10/2006 16:04:09
Hola buenas!!! Gracias por intentar ayudarme!!
el caso es que tengo este código:

***********************************************
dim rs as new ADODB.Recordset

set rs = CurentProject.Connection.Execute ("Select IPE from BDME_IPEITEM")

dim i as integer
dim strcadena as string

for i = 0 to rs.Fields.count - 1
strcadena=rs(i).value & ","
next

************************************************
El caso es que quiero hacer una select al campo IPE de la tabla BDME_IPEITEM, y debrían salir por lo menos 8 filas y solo me sale un dato!!!

Quiero que la variable strcadena guarde todas las filas que tiene ese campo pero solo me guarda uno y es siempre el mismo....Supongo que estoy haciendo algo mal pero no se que es....

Podríasis ayudarme??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ESTOY DESESPERADA!!

Publicado por MariA (38 intervenciones) el 05/10/2006 18:18:56
strcadena = strcadena & rs(i) & ","
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ESTOY DESESPERADA!!

Publicado por VLADIMIR (6 intervenciones) el 05/10/2006 18:26:29
TAMBIEN PUEDES UTILIZAR UN ARRAY

DIM strcadena(100) AS STRING

for i = 0 to rs.Fields.count - 1
strcadena (I)=rs(i).value
next
ESO SE ALMACENARIA EN UN ARREGLO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SOLUCION

Publicado por necro-air (77 intervenciones) el 05/10/2006 18:55:14
ncha!!:

Esta linea esta mal:
for i = 0 to rs.Fields.count - 1

aqui le dices que el for que sea de 0 a el numero de campos cargados y no al numero de REGISTROS cargados. De esta manera, como al hacer las select solo tienes un campo cargado, solo haces un ciclo de for que es 1 (coges el primer registro solamente).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ESTOY DESESPERADA!!

Publicado por Angel (8 intervenciones) el 05/10/2006 21:15:01
Buenas, tu problema creo que es bien sencillo, si te das cuenta estas guardando en una variable string (strcadena) un dato y después otro y así sucesivamente, pero el dato que te guardará será siempre el último, si quieres todos los datos por que va tomando debes crear un array de cadenas( ej: strcadena(20) ) en este caso podrias guardar hasta 20 datos distintos. Si no sabes el número de registros en lugar de crear strcadena(20) con "Dim strcadena(20) " crealo con Dim strcadena() y después Redim preserve strcadena(rs.fields.count).
Otra opción es que quieras almacenar en la misma variable strcadena todos los registros consecutivamente(no recomendable si hay muchos) entonces dentro de la instrucción For deberias poner: strcadena=strcadena & rs(i).value & ","

Espero que te sirva de algo, si quieres que te lo explique mejor tienes mi correo, Chaoo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ESTOY DESESPERADA!!

Publicado por deat (3 intervenciones) el 06/10/2006 09:25:59
Muchas gracias a todos chic@s!! Ya esta solucionado!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ESTOY DESESPERADA!!

Publicado por necro-air (77 intervenciones) el 07/10/2006 14:50:00
ncha!!:

Podrias decir cual fue la solucion, ya que aqui todos expusimos soluciones cada cual mas diferente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ESTOY DESESPERADA!!

Publicado por deat (3 intervenciones) el 09/10/2006 15:18:10
La solución correcta es la que me dió Necro-air...tenía mal una linea de codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar