Actualizar datos q se encuentran en un list

Catty
09 de Febrero del 2004
Hola a todos, bueno les tego una consulta tengo una lista donde se encuentran los numeros de unos vales, lo q sucede es cuando yo doy grabar quiero q aquellos registros q corresponden a esos numeros se actualicen, es decir cambien a un estado inactivo, pero cuando ejecuto el codigo me sale, quisiera sber como puedo hacer para q me lea todos losnumeros de la lista y me actualice los registros en la BD, les envio el codigo q hice, por favor alguina sugerencia se los agradeceria muchisimo

Dim x As Integer
While Not x = lstFactura.ListCount
Set cmVale = New ADODB.Command
With cmVale
.ActiveConnection = cn
.CommandType = adCmdText
.CommandText = "update VALE_RECARGA SET NRO_FACTURA = '" & txtNumFactura.Text & "', VR_ESTADO = 'A' where VR_NRO = '" & lstFactura.List(lstFactura.ListIndex) & "'"
.Execute
End With
Wend

saludos

Catty

Bartolom
09 de Febrero del 2004
No te entendí muy bien la pregunta, pero me imagino que quieres variar el campo NRO_FACTURA en aquellos registros donde el campo VR_NRO sea igual al valor que aparece en la lista, de acuerdo a su LisIndex. Lo primero raro que veo es en qué parte del cilclo while se incrementa el valor de x de manera que vaya recorriendo toda la lista. Lo segundo, en la condición Where no hay nada que sea variable, por lo tanto, aunque incrementartas la x, te actualizaría siempre el mismo campo, ya que en ninguna parte varías el ListIndex. Además, si quieres comparar con un where el campo VR_NRO con un elemento de la lista, deberías hacerlo con el contenido, con el string, no con ListIndex, recuerda que ListIndex indica posición del elemento, no su contenido. Yo lo haría directamente con lstFactura.List(x), así te compara el campo VR_NRO con cada elemento de la lista, o sea con su string y no con su posición.
Saludos!
Bartolom
Chile

PD: Si no te entendí bien, explícate un poco mejor con la pregunta.

Catty
09 de Febrero del 2004
gracias x tu sugerencia, si entendi lo q me dijste, es lo q al principio habia hecho lo q suce de es q me siguen saliendo errores, te muestro lo q acabo de modificar...

Dim x As Integer
While Not x = lstFactura.ListCount
Set cmVale = New ADODB.Command
With cmVale
.ActiveConnection = cn
.CommandType = adCmdText
.CommandText = "update VALE_RECARGA SET NRO_FACTURA = '" & txtNumFactura.Text & "', VR_ESTADO = 'A' where VR_NRO = '" & lstFactura.List(x) & "'"
.Execute
End With
x = x + 1
Wend

buewno te dire q me sigue saliendo el error q falta especificar datos para algunos parametros.... no se xq sucede esto... por favor si pudieras ayudarme te lo agradeceria un monton...

Saludos

Catty

Bartolom
09 de Febrero del 2004
Me podrías mandar la aplicación para revisarla acá y pillar el error?

Saludos!
Bartolom
Chile

Catty
09 de Febrero del 2004
ok!!!! peor puedes darme tu mail... no lo tengo... para poder enviartelo en estos momentos...

Bartolom
09 de Febrero del 2004
Clickeando en mi nick aparece el correo.
[email protected]

Saludos!
Bartolom
Chile

Catty
09 de Febrero del 2004
ya te lo envie a tu correo, el formulario donde sale ese error se llama factura...

Muchas gracias...

Catty