注册 登录
编程论坛 VFP论坛

vfp9.0 APPEND BLANK 不会更新列表

xiaruiok 发布于 2020-06-29 09:03, 2176 次点击
程序代码:
SELECT istosm

 GOTO BOTTOM

 IF RECCOUNT()<>0
    jlhno = 次序+1

 ELSE
    jlhno = 0

 ENDIF

 APPEND BLANK
REPLACE *** WITH thisform.txtpartno.value


为什么这段代码在VFP9.0下面执行后不会实时更新列表,在6.0和8.0下面会实时更新,如果APPEND BLANK换成APPEND就可以正常替换
7 回复
#2
wengjl2020-06-29 09:10
thisform.refresh
#3
吹水佬2020-06-29 10:39
以下是引用xiaruiok在2020-6-29 09:03:25的发言:

SELECT istosm
 GOTO BOTTOM
 IF RECCOUNT()<>0
    jlhno = 次序+1
 ELSE
    jlhno = 0
 ENDIF
 APPEND BLANK
REPLACE *** WITH thisform.txtpartno.value


为什么这段代码在VFP9.0下面执行后不会实时更新列表,在6.0和8.0下面会实时更新,如果APPEND BLANK换成APPEND就可以正常替换

怎样知道是否“实时更新”?
#4
xiaruiok2020-06-29 14:11
回复 3楼 吹水佬
IF  .NOT. TABLEUPDATE(.T.)
    = MESSAGEBOX('更新不成功', "提醒")
    TABLEREVERT(.T.)
 ENDIF

是这段代码问题,VFP8下面正常,vfp9下面不正常也不报错。
只有本站会员才能查看附件,请 登录

小弟是第一次接触VFP,请大佬指点一二,谢谢
#5
吹水佬2020-06-29 14:42
没报错就是TABLEUPDATE返回真了
不会实时更新,是不是说没看到grid表格刷新。
#6
xiaruiok2020-06-29 14:47
回复 5楼 吹水佬
是的,用VFP8编译的就可以看到刷新,VFP9要把添加数据这个窗口关了才会刷新
#7
吹水佬2020-06-29 14:50
回复 6楼 xiaruiok
试试要刷新GRID时调用grid的SetFocus
#8
xiaruiok2020-06-29 15:01
回复 7楼 吹水佬
谢谢大佬,找到问题了,VFP9下面差一句代码,VFP8就不需要,有点坑人了。在9下面完整代码为:
程序代码:
IF  .NOT. TABLEUPDATE(.T.)
    = MESSAGEBOX('此批有相同的零件,更新不成功', "友情提醒")
    TABLEREVERT(.T.)

 ELSE
     TABLEREVERT(.F.)

 ENDIF
1