Problemas actualizacion de grid

chotio
22 de Abril del 2004
Estoy haciendo un formulario compuesto, y al actualizar el grid (UNO A MUCHOS SIENDO MUCHOS LOS DATOS DEL GRID) y el grid entra en un estado de fallo, cuando hago ciertas operaciones, vease añadir registros (LOS AÑADO CON TABLAS EN BUFFER) y luego actualizarlos durante el mismo alta.
Me explico: Hago un alta
APPEND BLANK && de la tabla maestra

mas tarde posiciono en la clave y pongo el siguiente codigo

IF(LASTKEY()=13)

SELECT cabecera_compra
nRegist=RECNO()
LOCATE FOR n_albaran_compra=Thisform.cntAlbaran.txtN_albaran_compra.value


IF(FOUND()=.T. AND RECNO()!=nRegist)

MESSAGEBOX("ESTE NUMERO DE ALBARAN DE COMPRA YA EXISTE.",16+0+0,"ATENCION")
GOTO nRegist thisform.cntalbaran.txtN_albaran_compra.value=""

ELSE
GOTO nRegist
SELECT movimientoalmacen
APPEND BLANK
REPLACE num_albaran_compra WITH thisform.cntalbaran.txtN_albaran_compra.value
REPLACE tipo_movimiento WITH 'C'
thisform.refresh
thisform.Grid1.refresh

ENDIF
ENDIF

en el valir del txtcodigo_clave (COMO PODEIS COMPROBAR ES UN ALBARAN DE COMPRA)

en fin tras esto, envia el control al siguiente campo(FECHA) en el cual tengo le siguiente codigo:


IF(Thisform.cntAlbaran.txtN_albaran_compra.value="")

Thisform.cntAlbaran.txtN_albaran_compra.setfocus

ELSE

Thisform.cntAlbaran.txtFecha.value=DATE()

ENDIF

Es decir, si existe vuelve a pedir el campo clave, sino, introduce la fecha actual.

pulso nuevo, e introduzco un NUEVO campo clave.
se añade el rg secundario(EN LA TABLA SECUNDARIA) guardo datos en ambos
(ESTA SECUENCIA ANTERIOR FUNCIONA

El error viene:
pulso nuevo, e introduzco un ANTIGÜOcampo clave.
ME PIEDE OTRO e introduzco uno nuevo
se añade el rg secundario(EN LA TABLA SECUNDARIA) guardo datos en ambos
(ESTA SECUENCIA ANTERIOR NO FUNCIONA)

Al guardar los datos en ambos, e intentar navegar (adelante y atras) los campos en el grid han desaparecido. ¿Hay algun estado de error del grid o es cosa del codigo? muchas gracias x adelantado

adié

Kop
22 de Abril del 2004
hola.
creo saber ke te pasa,
antes de actualizar la grilla, desactiva la "union" con la tabla o query ... osea :
thisform.grid1.recordsource = ""
luego de hacer las modificaciones en tu resultado y vuelves a asignar el recordsource = "nombre"
Ok?

Kop.