Actualizar datos q se encuentran en un list
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
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
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.
Saludos!
Bartolom
Chile
PD: Si no te entendí bien, explícate un poco mejor con la pregunta.
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
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
Me podrías mandar la aplicación para revisarla acá y pillar el error?
Saludos!
Bartolom
Chile
Saludos!
Bartolom
Chile
ok!!!! peor puedes darme tu mail... no lo tengo... para poder enviartelo en estos momentos...
Clickeando en mi nick aparece el correo.
[email protected]
Saludos!
Bartolom
Chile
[email protected]
Saludos!
Bartolom
Chile