以下是引用hu9jj在2015-12-22 22:09:28的发言:
是建立一个自由表,可以通过ZAP来清除原有记录,再将查询到的临时表添加到自由表中,最后刷新表格。
是建立一个自由表,可以通过ZAP来清除原有记录,再将查询到的临时表添加到自由表中,最后刷新表格。
难怪,我有几个表单,用的是自由表(.DBF),好像没出现过白屏,有几个表单,用的是临时表,就出现过白屏。原来问题在这里。。
同样,我用27楼说的,用临时表做数据源,也可以。用我自己的方法也可以。
1、我自己的方法,GRID用的是临时表,在查询数据前,先改变GRID的数据源,如:
select * from sql_table_tmp1 where .f. into cursor sql_table_tmp2 readwrite
THISFORM.Grid1.RECORDSOURCE=''
THISFORM.Grid1.COLUMNCOUNT = -1
THISFORM.Grid1.RECORDSOURCE=ALIAS()
sqlexec(nhandle,'select * from sql_table','sql_table')
if used('sql_table')
select * from sql_table into cursor sql_table_tmp1 readwrite
THISFORM.Grid1.RECORDSOURCE=''
THISFORM.Grid1.COLUMNCOUNT = -1
THISFORM.Grid1.RECORDSOURCE=ALIAS()
use in sql_table
endif
2、就是27楼的方法
THISFORM.Grid1.RECORDSOURCE=NULL
sqlexec(nhandle,'select * from sql_table','sql_table')
if used('sql_table')
select * from sql_table into cursor sql_table_tmp1 readwrite
THISFORM.Grid1.RECORDSOURCE=''
THISFORM.Grid1.COLUMNCOUNT = -1
THISFORM.Grid1.RECORDSOURCE=ALIAS()
use in sql_table
endif
3、就是用自由表做GRID的数据源,查询前用ZAP清空数据,查询后,APPEND FROM 来更新数据
[此贴子已经被作者于2015-12-23 09:17编辑过]