工作区是用来保存表及其相关信息的一片内存空间。平时讲打开表实际上就是将它从磁盘调入到内存的某一个工作区。在每个工作区中只能打开一个表文件,但可以同时打开与表相关的其他文件,如索引文件、查询文件等。若在一个工作区中打开一个新的表,则该工作区中原来的表将被关闭。
有了工作区的概念,就可以同时打开多个表,但在任何一个时刻用户只能选中一个工作区进行操作。当前正在操作的工作区称为当前工作区。
2.工作区号与别名
不同工作区可以用其编号或别名来加以区分。
Visual FoxPro提供了32767个工作区,系统以l~32767作为各工作区的编号。
工作区的别名有两种,一种是系统定义的别名:1~lO号工作区的别名分别为字母A~J。另一种是用户定义的别名,用命令“USE(表文件名)ALIAs(别名)”指定。由于一个工作区只能打开一个表,因此可以把表的别名作为工作区的别名。若未用ALIAS子句对表指定别名,则以表的主名作为别名。
3.工作区的选择
命令格式是:
SELECT(工作区号)|(别名)| O
该命令选择一个工作区为当前工作区,以便打开一个表或把该工作区中已打开的表作为当前表进行操作。
命令中各子句的含义是:
(1)工作区的切换不影响各工作区记录指针的位置。每个工作区上打开的表有各自独立的记录指针。通常,当前表记录指针的变化不会影响别的工作区中表记录指针的变化。
(2)SELECT 0表示选择当前没有被使用的最小号工作区为当前工作区。用本命令开辟新的工作区,不用考虑工作区号已用到了多少,使用最为方便。
(3)也可在USE命令中增加IN子句来选择工作区并打开表。例如,在l号工作区打开学生表,并给它取一个别名,可用命令:
USE学生ALIAS xs IN 1或USE学生ALIAS xs IN A
4.工作区的互访
在当前工作区中可以访问其他工作区中的表的数据,但要在非当前表的字段名前加上别名和连接符,引用格式为:别名.字段名或别名一>字段名。
责任编辑:小草