请教:update库后Grid出现空白?问题

yjcm26 2007-12-27 11:00:55
本意是:1..有两个表jck和新教库表njck表,将njck表里有但在jck里没有的记录加到njck里(即njck-jck的差加入jck),但边上的表格GRID不能出现空白.
2..有两个表jck和新教库表njck表,将njck里的记录导入到jck(先zap为空),但要将原jck里yzdg字段有记录的信息同样加到新jck里(以sm一致联接),但边上的表格GRID不能出现空白.

2..的程序如下,但GRID出现空白,而且将jck库给关闭了,请教如何解决.
f1='njck.dbf'
if file(f1)=.t.
sele jck
copy to lsyzdjck for yzdg#' ' &&将库里已有征订记录的导出到临时库
use lsyzdjck
scan
update lsjck set yzdg='*' where (sm=lsyzdjck.sm)
endscan
else
=MESSAGEBOX('请先将教材库(njck.dbf)放在指定目录下!',48,'教材征订系统')
endif
...全文
177 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjcm26 2008-01-02
  • 打赏
  • 举报
回复
已解决.
13楼里的copy to lsyzdjck for yzdg#' '
改为: sele * from jck where yzdg#' ' into table lsyzdjck

即可.

十豆三 2007-12-28
  • 打赏
  • 举报
回复
上传你的源程序到
http://www.access911.net/CSDN/
yjcm26 2007-12-28
  • 打赏
  • 举报
回复
另外:在表格里一旦修改,运行就会出现jck丢失
yjcm26 2007-12-28
  • 打赏
  • 举报
回复
还是一样,但用wait后发现:
1.如果有
sele jck
go top
jck在此时消失;

2.如果没有sele jck,jck在整个执行thisform.refresh(此句有无一样)后消失
十豆三 2007-12-28
  • 打赏
  • 举报
回复
update 教材\jck set yzdg='*' where (sm=lsyzdjck.sm)
yjcm26 2007-12-28
  • 打赏
  • 举报
回复
sele jck &&在jczd数据库里有,在表单数据环境里也有
copy to lsyzdjck for yzdg#' ' &&将原教材库里已有征订记录(YZDG)的导出到临时库
zap
appe from zxjck.dbf &&将新教材库导入

thisform.pageframe1.page1.grid2.RecordSource=Null &&右表和PAGE2各有一张表
thisform.pageframe1.page2.grid1.RecordSource=Null

*?curdir()

use lsyzdjck
scan
update jck set yzdg='*' where (sm=lsyzdjck.sm)
endscan


thisform.pageframe1.page1.grid2.recordsource='jck'
thisform.pageframe1.page2.grid1.RecordSource='jck'
thisform.pageframe1.page1.grid2.refresh
thisform.pageframe1.page2.grid1.refresh

sele lsyzdjck
use
erase lsyzdjck.dbf

sele jck
go top

thisform.Refresh


&&&谢谢
十豆三 2007-12-28
  • 打赏
  • 举报
回复
你打开表的代码呢?
yjcm26 2007-12-28
  • 打赏
  • 举报
回复
请教:
目录结构:教材\datas(内含jck.dbf,yx.dbf等);
教材\forms(内含jczd.scx,main.prg)

在项目里直接运行 jczd.scx 没有发现jck.dbf关闭问题,
同样在项目里直接运行main.prg(内容如上)后就会出现jck.dbf找不到问题

但在vfp里(当前目录为教材\),do form forms\jczd.scx 也会出现jck.dbf找不到问题

估计还是路径问题?

yjcm26 2007-12-28
  • 打赏
  • 举报
回复
main.prg内容
set directory to curdir()
set sysmenu off &&不显示系统菜单
set talk off
set safety off
set deleted on &&不显示被逻辑删除的记录
set century on
set date to ymd
*set mark to ‘.’
*set status bar off &&不显示VFP状态条
on shutdown quit &&若没有这句,可能不能退出VFP。
clear
MODIFY WINDOW SCREEN TITLE '征订系统' NOCLOSE
_SCREEN.CONTROLBOX=.F. &&_SCREEN是系统内存变量(也就是VFP主窗口对象)
_SCREEN.WINDOWSTATE=2
do form forms\jczd.scx
READ EVENTS &&启动事件循环
yjcm26 2007-12-28
  • 打赏
  • 举报
回复
十豆三老师:
我已上传(教材征订(071228)),请帮忙查看.
十豆三 2007-12-27
  • 打赏
  • 举报
回复
那就是你程序中用了绝对路径了吧。
yjcm26 2007-12-27
  • 打赏
  • 举报
回复
连编成EXE时的运行可以,过后单独打开EXE就不行(其他没问题)
yjcm26 2007-12-27
  • 打赏
  • 举报
回复
在datas文件下
十豆三 2007-12-27
  • 打赏
  • 举报
回复
当前路径下有这个表吗?
yjcm26 2007-12-27
  • 打赏
  • 举报
回复
十豆三老师:
在项目里运行可以,但一旦编译成EXE后就出现找不到jck
(scan
update jck set yzdg='*' where (sm=lsyzdjck.sm)
endscan )
yjcm26 2007-12-27
  • 打赏
  • 举报
回复
已解决,谢谢十豆三
yjcm26 2007-12-27
  • 打赏
  • 举报
回复
sorry!

scan
update lsjck set yzdg='*' where (sm=lsyzdjck.sm)
endscan

中的lsjck 应为jck
yjcm26 2007-12-27
  • 打赏
  • 举报
回复
继续请教:按2...程序,为什么会将jck关闭,谢谢.
十豆三 2007-12-27
  • 打赏
  • 举报
回复
操作前将Grid表的RecordSource设为NULL
操作后再将Grid表的RecordSource设回原来的表名.

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧