数据表缓冲数据更新不正确,无论在表单中确认还是放弃,表中都只有一条记录。求教!
求教,如题用缓冲数据进行记录生成与更新,但生成的数据没问题,却无法按我想的在确认后正确更新。请高手指点什么地方有误!下面是定义的函数内容
****前面的数据定义过程省了,前面有函数定义和参数传递接收
SELECT 10 **为了避免冲突,设了个远的。
USE JKXFJHBLSB EXCLUSIVE
DELETE ALL **这是个临时表,以前数据没用。
=CURSORSETPROP("BUFFERING",4)
=FLOCK()
****中间是记录赋值过程
MEMZJS=2+MEMSYYS+IIF(MEMSYTS>0,1,0)+1
MEMZHFZE=LXJS(MEMJKBJ,MEMQSRQ,MEMZZRQ,MEMLX1,MEMLX2,MEMLX3,MEMLX4)
MEMJDZXF=RZGWFJS(MEMJKBJ,MEMQSRQ,MEMZZRQ,MEMLX1,MEMLX2,MEMLX3,MEMLX4,MEMLX5)
MEMLXZE=MEMZHFZE-MEMJDZXF
FOR MEMLS=1 TO MEMZJS
APPEND BLANK
ENDFOR
GO 1
REPLACE DABH WITH MEMDABH
GO 2
REPLACE DABH WITH MEMDABH*GO 3
IF MEMSYYS>0
FOR MEMLS=1 TO MEMSYYS
MEMMC='MEMYUE'+ALLTRIM(STR(MEMLS,2))
SKIP
REPLACE DABH WITH MEMDABH,KHBM WITH MEMKHBM,KHMC WITH MEMKHMC,JHRQ WITH &MEMMC,JHJE WITH ROUND(MEMJKBJ*(MEMLX4-MEMLX5),2),;
CZYBM WITH SYSCZYBM,CZYXM WITH SYSCZYXM,CZRQ WITH DATE()
ENDFOR
MEMJLH=RECNO()
SUM JHJE TO MEMYSX FOR ALLTRIM(JHXS)='收回'
GO MEMJLH
ENDIF
IF MEMSYTS<>0 .AND. MEMSYYS<>0
SKIP
REPLACE DABH WITH MEMDABH,KHBM WITH MEMKHBM,KHMC WITH MEMKHMC,JHRQ WITH MEMZZRQ,JHJE WITH MEMLXZE-MEMYSX,;
CZYBM WITH SYSCZYBM,CZYXM WITH SYSCZYXM,CZRQ WITH DATE()
ENDIF
SKIP
IF MEMSYYS<>0
REPLACE DABH WITH MEMDABH,KHBM WITH MEMKHBM,KHMC WITH MEMKHMC,JHRQ WITH MEMZZRQ,JHJE WITH MEMJKBJ,;
CZYBM WITH SYSCZYBM,CZYXM WITH SYSCZYXM,CZRQ WITH DATE()
ELSE
REPLACE DABH WITH MEMDABH,KHBM WITH MEMKHBM,KHMC WITH MEMKHMC,JHRQ WITH MEMZZRQ,JHJE WITH MEMJKBJ+MEMLXZE-MEMYSX,;
CZYBM WITH SYSCZYBM,CZYXM WITH SYSCZYXM,CZRQ WITH DATE()
ENDIF
REPLACE ALL JHXLH WITH RECNO()
MEMQR=''
GO TOP
****赋值结束
DO FORM JHBZ WITH MEMQR TO MEMQR1 ***调用表单在表格中显示生成的数据并修改,设两个按钮,一个返回.T. 一个返回.F.
IF MEMQR1=.T.
GO TOP
BEGIN TRANSACTION
MEMCG=TABLEUPDATE()
IF MEMCG=.F.
MEMZT=MESSAGEBOX(' 数据保存未成功,请检查服务器及网络状态......',(5+48),'提示信息')
IF MEMZT=4
ROLLBACK **选择重试,返回。
ELSE
TABLEREVERT(.T.)
END TRANSACTION
ENDIF
ELSE
END TRANSACTION
ENDIF
UNLOCK
ENDIF
USE
SELECT 1
RETURN
ENDFUNC