FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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" , 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 Estoy un poco desesperado porque nose ya que probar jeje. Gracias de antemano y Salu2!!! Última edición por roman fecha: 17-01-2006 a las 20:16:39. Razón: Cambiar etiqueta [code] por [delphi] ¡Para algo las hicimos! |
#2
|
||||
|
||||
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 |
#3
|
|||
|
|||
No creo ke sea por eso porque incluso he probado solo:
Código:
DataModule_Fact_Albar.QueryAlb.first; DataModule_Fact_Albar.Query_AlbConvertido.value:='SI'; with DataModule_Fact_Albar do begin while not(Query_Alb.Eof) do begin DataModule_Fact_Albar.Query_AlbConvertido.value:='SI'; Query_Alb.Next; end; end; Gracias y perdon pero no tengo internet y tengo que venir a un ciber. Salu2!!! |
#4
|
||||
|
||||
¿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.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) Última edición por Ivanzinho fecha: 19-01-2006 a las 09:22:18. |
#5
|
||||
|
||||
Prueba esto:
Un saludo Edu |
#6
|
|||
|
|||
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!!! |
#7
|
||||
|
||||
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.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con ComponentEditor y TStringList | Sonic | C++ Builder | 0 | 17-01-2006 08:36:44 |
Problema con los Post_Events | Aldo | Firebird e Interbase | 1 | 21-10-2005 12:58:10 |
Problema cerrando un thread | tortelini | Varios | 0 | 14-03-2005 15:21:16 |
problema con bucle while do | acrophet | Varios | 1 | 16-09-2004 14:13:02 |
detener un bucle con un boton cancelar... | dmariscal | Varios | 7 | 13-07-2004 12:52:47 |
|