VFP表中的数据过滤后,移动鼠标后就提示发生了试图把记录指针超过文件尾标的情况,然后出错退出 5

假如一个表有10条记录,前5条的姓名为张三,后5条为李四,我在表单姓名的losfocus中写了SETFILTERTO姓名=‘张三'GOtopthisform.grid1.... 假如一个表有10条记录,前5条的姓名为张三,后5条为李四,我在表单姓名的losfocus中写了
SET FILTER TO 姓名=‘张三'
GO top
thisform.grid1.Refresh
运行时
我把记录移到表格中的第6条,就提示发生了试图把记录指针超过文件尾标的情况,就退出了,敲回车就又没有问题,有劳专家了
展开
 我来答
baitia0
2015-05-22 · TA获得超过2506个赞
知道大有可为答主
回答量:2275
采纳率:80%
帮助的人:2079万
展开全部
当然出错了。

你执行了这句代码 :SET FILTER TO 姓名=‘张三'

就是表里只显示 姓名为张三的记录,是5条记录,那么你移动指针就只能在这5条之内移动。
现在你移到6, 当然超出范围了。
追问
可是在软件里,在过滤之前谁能知道有多少条记录啊,假如有200条,填写了一些数据后自动识别该人员的相关信息,按该姓名自动过滤,在刷新前不知道有多少条啊,所以有时候就顺便移到下一个相同姓名处了,结果该记录经过过滤后已经跑到第2条记录去了,而且后面没有更多的记录了,所以移开鼠标时,就出错了。想问的是如何不出错,有没有可能杜绝这钟出错信息,自动识别.
追答
你是不是这个意思:表里存放的各个人员的信息, 而姓名可以重复
当指定某人时, 表里过滤只显示他的信息, 这时你可以用鼠标查看记录

比如张三有6条记录, 你点到第六条,
然后查看李四,他有3条,就会提示这个错误。

这种情况可以这样避免:
在每次过滤前将指针指向表头(指向第一条记录也不能避免,因为可能某人一条记录也没有),过滤后再指向第一条记录

go top
skip -1
SET FILTER TO 姓名=‘张三'

go top
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式