打印本文 打印本文  关闭窗口 关闭窗口  
VFP中记录指针定位和数据排序
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:51:03  文章录入:杜斌  责任编辑:杜斌

  一.转到记录: 
  格式一:go top|bottom|n 
  格式二:skip n 
  说明:(1)"|"为“或”的意思 

  (2).格式1为绝对记录定位。即不管当前记录在哪儿,使用格式1都可到达指定记录。其中,top为表中第一条记录,bottom为表中最后一条记录。"n"为要定位的记录号。 

  (3).格式2为相对记录定位,是指相对于当前记录移动n条记录。n>0时为上移,n<0为下移。省略n,则默认为向下移动1条记录。 

  (4).刚打开的表,指针自动定位于第1条记录 

  (5).eof()函数用于判断指针是否超过表的最后1条记录,若是,则值为.t.,否则为.f. 

例: 
  use 职工档案 
  ?recno() && "?"为显示命令,recno()为测试当前记录号函数。此命令执行结果,在主窗口输出1。 
  skip 
  ?recno() &&显示2 
  go bottom 
  ?recno() 
  skip 
  ?eof() &&显示.t. 

  二.记录定位: 
  格式1:locate [范围][For 条件] 

  格式2:continue 

  说明:locate命令定位到满足条件的第1条记录,如果没定位到,eof()为.t.。continue命令按locate的条件定位下一条记录。 

  例:use 职工档案 
  locate for 职称=“讲师” 
  display 
  continue 
  display 
  use 

  三.条件记录过滤: 

  格式:set filter to [过滤条件] 

  功能:设置条件过滤后,只有满足条件的记录才会显示。该命令不带任何选项,则清除过滤条件,不再对记录过滤。 

  :use 职工档案 
  set filter to 性别=“女” 
  browse 
  set filter to 
  browse 
  use 

  四.表数据排序:在向新建的表输入数据时,表中记录的顺序是按其输入的先后顺序而定的,我们称之为物理顺序。但有时我们需要按某种要求重新安排记录的顺序。重新安排记录顺序的方法有两种:一种为排序,是从物理上重新组织并生成新的表文件;另一种为索引,它通常按照表中某些关键字的值来建立原数据文件的索引文件,达到在使用中将记录按顺序排列的目的,使用索引的方法排序不从物理上重新组织文件,即不会生成新表。本节先介绍排序,索引将在下节学习。 

  排序又称分类,即按照表中的某些字段值的大小重新排列记录顺序,这样的字段称为关键字。按关键字的值排序,从小到大称为升序,从大到小称为降序。 

  注意:备注型及通用型字段不能用作排序关键字,其它类型的字段都可以。 

  命令格式:sort to 新表名 on 排序关键字 [/a][/d][For 条件][Fields 字段名表] 

  说明:(1)."/a"表示升序,"/d"表示降序。 

  (2).for 条件:指定参加排序的记录条件 

  (3).fields 字段名表:指定排序后生成的新表中包含的字段 

  例:对“工资情况”表,要求按工资由高到低重新排序,并将排序结果存放在“工资情况2.dbf"中。在命令窗口中依次执行以下命令: 
  use 工资情况 
  list 
  sort to 工资情况2 on 工资/d 
  use 工资情况2 
  list  
  use 
打印本文 打印本文  关闭窗口 关闭窗口