标题:工作区?
只看楼主
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
结帖率:96.03%
已结贴  问题点数:20 回复次数:5 
工作区?
thisform .grid1.recordsourcetype=1
thisform .grid1.recordsource="sale"  &&sale.dbf作为表的数据源,处于一直打开状态
后来当执行如下命令时:
select * from sale into cursor k
此时发现sale作为数据源的在工作区1中打开,而后面的查询中sale又在工作区4中打开。工作区2、3被其它表占用着。

如果用: use in sale 首先关闭作为数据源的sale表,而此表是不想被关闭的。
如果用:
select n
use
工作区号又不好确定

也就是说,sale 在两个工作区同时打开了,请问如何精确关闭后来查询时打开的sale表?
搜索更多相关主题的帖子: 工作区 数据源 打开 select 关闭 
2019-06-30 17:55
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
不需要记工作区,只需要记着表的别名就可以了,因为GRID1的数据环境为sale表,别名默认为sale,在需要操作sale时直接
select sale
进行表的操作。

坚守VFP最后的阵地
2019-06-30 19:30
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 2楼 sdta
select sale
use
总是会先关闭前面工作区中1中的sale
而我只想关闭工作区4中的sale (需要判断后来的sale在哪个工作区打开)
2019-07-01 06:26
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:10 
以下是引用su0527在2019-7-1 06:26:32的发言:

select sale
use
总是会先关闭前面工作区中1中的sale
而我只想关闭工作区4中的sale (需要判断后来的sale在哪个工作区打开)

一个表不可能同时被多个工作区打,除非您打开时指定了别名。使用时无须关注表是在哪个工作区打开的,这是系统自动处理的,我们只要遵循下面的规则就行:
1、打开表时
use XXX in 0    &&在最低的空闲工作区中打开表XXX

2、查找工作区时
select XXX
3、引用时
变量=XXX.字段名

如果是在表单中操作,可以直接使用数据环境,将要使用的表加入到数据环境中就行,之后你只管用,不需要考虑表的打开或者关闭,这些问题VFP系统会自动替您完成。

活到老,学到老! http://www. E-mail:hu-jj@
2019-07-01 08:18
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:0 
看过,
(1)在DOS时代,因为工作区只有10个,所以人们总是先确定工作区,再打开表
select A
use dbfA
select B
use dbfB
。。。
(2)进行WINDOWS以后,工作区不爱限制,所以人们总是在最低的工作区打开表,不再考虑
这个表在哪个工作区打开的
select 0
use dbfB
。。。
(3)如今使用上了SQL语句
select * from DBF1 into table DBF2
则DBF1,DBF2两表都是打开的,至于在哪个工作区打开,你不必要考虑
使用时,只要指定表就可以操作
select DBF1
。。。


[此贴子已经被作者于2019-7-8 15:36编辑过]

2019-07-08 15:32
q1579398897
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-11-24
得分:0 
以下是引用gs2536785678在2019-7-8 15:32:36的发言:

看过,
(1)在DOS时代,因为工作区只有10个,所以人们总是先确定工作区,再打开表
select A
use dbfA
select B
use dbfB
。。。
(2)进行WINDOWS以后,工作区不爱限制,所以人们总是在最低的工作区打开表,不再考虑
这个表在哪个工作区打开的
select 0
use dbfB
。。。
(3)如今使用上了SQL语句
select * from DBF1 into table DBF2
则DBF1,DBF2两表都是打开的,至于在哪个工作区打开,你不必要考虑
使用时,只要指定表就可以操作
select DBF1
。。。


学习了,小新手一直在困惑生成多个临时表后的后续操作问题
2022-01-07 09:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495615-1-1.html




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

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