| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
买学问 - 大牛一对一辅导,有问必答买学问 - 专业的付费知识问答平台
共有 395 人关注过本帖
标题:求助:VFP 表单中有一个表格,其中一个按钮里有PACK命令,执行后,表格变白 ...
只看楼主 加入收藏
wyzeaaa
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-6-4
结帖率:100%
  问题点数:0  回复次数:21   
求助:VFP 表单中有一个表格,其中一个按钮里有PACK命令,执行后,表格变白。



求助:VFP  表单中有一个表格,其中一个按钮里有PACK命令,执行后,表格变白。

前面用DELETE from 2201 WHERE zf<fsx,这个命令把分数下的记录全删除了,结果打开表看,没并有彻底删除,只是加上了删除标记,不知道这个命令能不能加上个参数,实现彻底删除。
搜索了半天,也没找到解决办法

就在按钮里加了以下的命令,把16个学校成绩库里分数线以下的信息删除。

use 2201
pack
use 2202
pack
use 2203
pack
use 2204
pack
use 2205
.....


结果,表格就白了,不显示数据了。求高手指点一下了。

我VFP基础太差,都是通过百度搜索一些命令,然后简单组合,实现一些简单目标。


[此贴子已经被作者于2019-6-6 10:53编辑过]

附件: 您没有浏览附件的权限,请 登录注册
2019-06-06 10:50
wengjl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:1626
专家分:2913
注 册:2007-4-27
  得分:0 
表的数据源重新加载就可以了

只求每天有一丁点儿的进步就可以了
2019-06-06 12:27
wengjl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:1626
专家分:2913
注 册:2007-4-27
  得分:0 
  thisform.grid1.ColumnCount =-1
  thisform.grid1.RecordSourceType = 1
  thisform.grid1.RecordSource ='表名'

加在 pack 后面

只求每天有一丁点儿的进步就可以了
2019-06-06 12:29
wyzeaaa
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-6-4
  得分:0 
回复 3楼 wengjl
按钮的命令
select zbx from bmddm where xxdm='2201' INTO ARRAY fsx  &&删除数据表2201中,zf小于分数线的记录。
DELETE from 2201 WHERE zf<fsx

use 2201
PACK
thisform.grid1.ColumnCount =-1
thisform.grid1.RecordSourceType = 1
thisform.grid1.RecordSource ='bmddm'
use

提示“文件正在使用”,还是不能刷新表格。

不知道怎么弄了,再指点一步,谢谢了。
表格的数据源是表bmddm.dbf
2019-06-06 13:05
xuminxz
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:203
专家分:562
注 册:2011-5-8
  得分:0 
在表单的LOAD事件中,用create cursor 命令建立临时表 csxxtmp,或打开一个同结构的表用
 aa=afield(arstr)
CREATE CURSOR csxxtmp from ARRAY arstr 

在表单的init事件中,将表格与csxxtmp绑定。
程序代码:
thisform.grid1.RecordSourceType= 1
thisform.grid1.RecordSource='csxxtmp'
thisform.grid1.column1.ControlSource='csxxtmp.sfxz'   &&column1显示字段sfxz
thisform.grid1.column2.ControlSource='csxxtmp.xxdm'
thisform.grid1.column3.ControlSource='csxxtmp.xxmc'
…………

在设计时,修改Grid的 Columncount属性,设为你想显示的列数;
修改每列的Hearder1的Caption属性(说明这一列是什么内容,建议用中文)。
然后在相应的命令按键的Click事件中,加入以下代码
程序代码:
select csxxtmp
zap
append from  2201 for zf>=fsx
append from  2202 for zf>=fsx
append from  2203 for zf>=fsx
………………
………………
go top
thisform.grid1.Refresh 



[此贴子已经被作者于2019-6-6 15:53编辑过]


dBase有人接盘了。
2019-06-06 15:52
wyzeaaa
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-6-4
  得分:0 
回复 5楼 xuminxz
谢谢解答,我学习一下,试一下。
2019-06-06 20:53
wengjl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:1626
专家分:2913
注 册:2007-4-27
  得分:0 
使用 pack 命令,需要独占表的,表与GRID关联,就不独占了,所以还加命令(与GRID的关联断开)才不会出现 文件正在被使用 的提示。

只求每天有一丁点儿的进步就可以了
2019-06-07 07:29
wengjl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:1626
专家分:2913
注 册:2007-4-27
  得分:0 
解决屏幕变白和使用PACK 的思路:
1、锁定屏幕
2、断开表与GRID的关联
3、执行PACK,清理有删除标记的记录
4、重新将表关联到GRID上
5、解除屏幕的锁定,并刷新屏幕。


只求每天有一丁点儿的进步就可以了
2019-06-07 07:35
wyzeaaa
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-6-4
  得分:0 
回复 8楼 wengjl
谢谢,思路很清晰,
能不能提供一下实现这几步的命令,我试一下,
要不然,我也是一条条去百度上搜索
2019-06-07 11:39
wengjl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:1626
专家分:2913
注 册:2007-4-27
  得分:0 


示例来了
附件: 您没有浏览附件的权限,请 登录注册

只求每天有一丁点儿的进步就可以了
2019-06-08 09:48







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026665 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved