Problema en bucle
Hola a todos, no sabia si poner aki el post o en otro hilo porque es de tablas y de programacion general. El codigo es este:
Me explico, el codigo me coge varios albaranes y me va recorriendo su cuerpo para hacerme una convercion de "Varios Albaranes"" --> "A uno Solo", esto me lo hace bien. EL problema viene a que quiero que cuando me recorre lso albaranes me vaya poniendo a "SI" el campo convertido del albaran, para que cuando realize conversiones posteriores solo me coja los "Albaranes NO Convertidos", por lo que añado el codigo:
Pero no me lo hace bien, me pone a "SI", el 1º y 3º y el 2º lo deja a "NO" :eek:, he probado a poner en todas partes del bucle, incluso lo puesto 2 y 3 veces xDDD y siempre me hace lo mismo, y además de no ponerme a "SI" todos los "albaranes convertidos", la conversion tambien la hace mal y sin esa linea convierte bien :confused::confused::confused: Estoy un poco desesperado porque nose ya que probar jeje. Gracias de antemano y Salu2!!! |
Buenas!
Yo diría que el bucle se vuelve un poco loc con tantas vueltas que le das. Lo mejor es hacerlo pasito a pasito: Primero recorres el bucle sumando, y lo que quieras, y después hacer una sentencia SQL de actualización con el mismo where para cambiar a SI el campo. Espero que te sirva Edu |
No creo ke sea por eso porque incluso he probado solo:
Código:
DataModule_Fact_Albar.QueryAlb.first; Gracias y perdon pero no tengo internet y tengo que venir a un ciber. Salu2!!! |
¿Por qué no lo ejecutas en modo debug y pones un punto de interrupción al principo del bucle para ejecutarlo paso a paso y ver por donde va el programa?. Puedes poner una variable de prueba que recoja el identificador de la linea para ver los valores que va tomando y las líneas por las que se va pasando en el bucle.
¿La query recoge todas las líneas que tu crees que debe tener? Comprueba esto y ya nos contarás. |
Prueba esto:
Un saludo Edu |
Hola a todos y gracias por vuestras respuestas.
* Query_AlbConvertido.Edit; * Query_AlbConvertido.value:='SI'; * Query_AlbConevertido.post; Esto tambien lo probre para asegurarme de que me guardaba el valor con un post y tambien antes lo puse en modo edicion, aunque volvere a probar jeje. La query si me recoge bien los valores ya que tengo mas cosas hechas y nunca me ha dado problema de este tipo, las pruebas las he hecho sobre 3 albaranes, he peusto solo 3 albaranes a NO y solo me convierte el 1º y 3º, probare paso a paso y a ver si se me ocurre algo más porque lo veo muy raro ya que "creo" que el bucle esta bien, es muy simple XDDDDD. Gracias de nuevo por vuestras respuestas y si os ocurre algo más será bien agradecido :P Ya os contare. Salu2!!! |
A mi me pasara una vez algo parecido, realice un debug paso a paso y descubrí que era porque tenía una instrucción donde pasaba al siguiente registro (ahora no me acuerdo cual era), por lo que quité el query.next y me funcionó correctamente.
Puedes quitar el Query_AlbConvertido.Next y probar, aunque si no es de eso te entrará en un bucle infinito. De todos modos aunque te funciones así te recomiendo que vayas paso a paso mirando por donde va el programa para ver porque en el segundo albarán no te pasa por la línea Query_AlbConvertido.Value = SI Ya nos contarás Un saludo. |
La franja horaria es GMT +2. Ahora son las 09:04:08. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi