请问出错“文件正在使用”如何处理?

dlcxl 2003-08-21 07:19:19
在vfp程序中,表单中有一命令按钮,在“按钮”中有一段代码:
......
sele xscj
set filter to allt(substr(xscj.rxbh,9,4))=allt(bjqk.bjbh)
copy to kkk
select rxbh,kzdm,cj from kkk;
where subs(rxbh,9,4)=thisform.combo1.value into cursor aaa
......

执行一次此按钮后, 再执行此按钮,程序停在“copy to kkk”一句,出错,“文件正在使用”,请问什么原因? 如何处理?
...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfwxj 2003-08-22
  • 打赏
  • 举报
回复
楼上的都说得不少,知道问题出哪吗?

sele 查询语句对源表查询后自动打开源表所以你要反复查询时,在查询一次后只要加上

use in kkk 即可另外为了避免出错要关闭安全提示或删除临时表

set safe off 或:

dele file kkk.dbf
fj_jiangqi 2003-08-22
  • 打赏
  • 举报
回复
sele xscj
set filter to allt(substr(xscj.rxbh,9,4))=allt(bjqk.bjbh)
copy to kkk
select rxbh,kzdm,cj from kkk;
where subs(rxbh,9,4)=thisform.combo1.value into cursor aaa
经过上面的set filter to,在kkk里subs(rxbh,9,4)的值应该只在一种才对,在背后的sql中的条件可做些修改。
-----------
select rxbh,kzdm,cj from xscj where subs(rxbh,9,4)=thisform.combo1.value;
into cursor aaa && 一句好象就可以了
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
magnetmoon 2003-08-22
  • 打赏
  • 举报
回复
sele xscj
set filter to allt(substr(xscj.rxbh,9,4))=allt(bjqk.bjbh)
copy to kkk
select rxbh,kzdm,cj from kkk;
where subs(rxbh,9,4)=thisform.combo1.value into cursor aaa
......


在copy to ...或into table ...之前一定要判斷表是否打開,如打開就把它關閉掉
if used('you_table')
use in you_table
endif
select ...
copy to you_table
...
select ... from ... into table you_table




kinlzy 2003-08-22
  • 打赏
  • 举报
回复
我也来一个:)

在查询前来个判断
if used("kkk") then
sele kkk
use
end if

^_^
mudgor 2003-08-22
  • 打赏
  • 举报
回复
赞同清风和方方的意见

mgan 2003-08-22
  • 打赏
  • 举报
回复


以上 没有一个可以吗 ?

——————————@_@————————
good good study
day day up
__________________^@^_________________


ghost 2003-08-22
  • 打赏
  • 举报
回复
我还没看明白。在前面加一个close table 不就够了吗?
boomit 2003-08-22
  • 打赏
  • 举报
回复
众人拾柴火焰高呀,
newfang 2003-08-22
  • 打赏
  • 举报
回复
末尾加上:select kkk
use
mgan 2003-08-21
  • 打赏
  • 举报
回复


select rxbh,kzdm,cj from ;
(set filter to allt(substr(xscj.rxbh,9,4))=allt(bjqk.bjbh)) ;
where subs(rxbh,9,4)=thisform.combo1.value into cursor aaa
没有测试 你看看可以不可以

——————————@_@————————
good good study
day day up
__________________^@^_________________
老猿的书房 2003-08-21
  • 打赏
  • 举报
回复
TO xiaott(我能睡觉吗)
呵呵,加USE KKK,那样反而打开了啊。
TO 楼主
xiaott(我能睡觉吗) 说的没错,不过。。。。。。呵呵,最喜欢看高手落马了。只用USE能关闭当前表,如果KKK不是当前表,加CLOSE DATA试试。不过这会把你所有表关了的
xiaott 2003-08-21
  • 打赏
  • 举报
回复
你的KKK.dbf还没有关闭,是不能拷贝的,在处理最后加一条use kkk吧!祝你好运!

2,718

社区成员

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

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