EL HP SQL O YO
Publicado por alexcoinc (450 intervenciones) el 19/09/2008 00:24:33
Tengo un grid el cual se llena con la siguiente instrucción SQL:
ESTO LO TENGO EN UN BOTON:
buscadoc='E'+space(1)+str(docu) && El docu es un dato de entrada.
THISFORM.gridmov.recordsource = 'SELECT tipo,swiche,documento,recno() as registro FROM movim WHERE (tipo+swiche+str(documento))==buscadoc into cursor curdoc'
Luego al refrescar tanto el grid como la form, me funciona muy bien.
Resulta que este grid lo utilizo para escoger un registro y posteriormente borrarlo
del archivo principal que en este caso se llama MOVIM.
Bueno imaginense y acá va la pregunta :
El proceso se ejecuta muy bien (aparentemente), el usuario escoge el registro a borrar del
grid, luego se realiza el proceso (es decir el DELETE EN EL ARCHIVO MOVIM) y saca
el mensaje "PROCESO CULMINADO CON EXITO"... es decir el proceso de borrado.
Se devuleve el control de la rutina a donde se pide otro documento para que el usuario
lo escoja, y asi volver a armar la cadena, asi: Dando clik en el boton:
buscadoc='E'+space(1)+str(docu) && El docu es un dato de entrada.
THISFORM.gridmov.recordsource = 'SELECT tipo,swiche,documento,recno() as registro FROM movim WHERE (tipo+swiche+str(documento))==buscadoc into cursor curdoc'
PEDI EL MISMO DOCUMENTO (EL ANTERIOR)
SORPRESA: El registro que había borrado y que procesó me vuelve a aparecer en el grid.
Inquieto por esta situación abri la tabla MOVIM y efectivamente ese registro si se había
borrado (estaba correcto).
Volvi a entrar a la rutina y la corri y en esa ocasión ya no me trajo el registro.
RESUMIENDO: Que pasa con la instrucción SQL que si se corre inmediatamente después
de la primera vez no trae los datos correctos, es algo asi como que uno se tenga que
salir del programa o de la rutina para que funcione... ESO ES UNA FALLA INMENSA NO?
Bueno que es lo que debo hacer, en que estoy fallando ??
Gracias por sus comentarios
alexcoinc.
ESTO LO TENGO EN UN BOTON:
buscadoc='E'+space(1)+str(docu) && El docu es un dato de entrada.
THISFORM.gridmov.recordsource = 'SELECT tipo,swiche,documento,recno() as registro FROM movim WHERE (tipo+swiche+str(documento))==buscadoc into cursor curdoc'
Luego al refrescar tanto el grid como la form, me funciona muy bien.
Resulta que este grid lo utilizo para escoger un registro y posteriormente borrarlo
del archivo principal que en este caso se llama MOVIM.
Bueno imaginense y acá va la pregunta :
El proceso se ejecuta muy bien (aparentemente), el usuario escoge el registro a borrar del
grid, luego se realiza el proceso (es decir el DELETE EN EL ARCHIVO MOVIM) y saca
el mensaje "PROCESO CULMINADO CON EXITO"... es decir el proceso de borrado.
Se devuleve el control de la rutina a donde se pide otro documento para que el usuario
lo escoja, y asi volver a armar la cadena, asi: Dando clik en el boton:
buscadoc='E'+space(1)+str(docu) && El docu es un dato de entrada.
THISFORM.gridmov.recordsource = 'SELECT tipo,swiche,documento,recno() as registro FROM movim WHERE (tipo+swiche+str(documento))==buscadoc into cursor curdoc'
PEDI EL MISMO DOCUMENTO (EL ANTERIOR)
SORPRESA: El registro que había borrado y que procesó me vuelve a aparecer en el grid.
Inquieto por esta situación abri la tabla MOVIM y efectivamente ese registro si se había
borrado (estaba correcto).
Volvi a entrar a la rutina y la corri y en esa ocasión ya no me trajo el registro.
RESUMIENDO: Que pasa con la instrucción SQL que si se corre inmediatamente después
de la primera vez no trae los datos correctos, es algo asi como que uno se tenga que
salir del programa o de la rutina para que funcione... ESO ES UNA FALLA INMENSA NO?
Bueno que es lo que debo hacer, en que estoy fallando ??
Gracias por sus comentarios
alexcoinc.
Valora esta pregunta


0