问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在VF中用什么命令提取表中的某个条件

发布网友 发布时间:2024-10-07 18:18

我来回答

2个回答

热心网友 时间:2024-10-07 19:09

use 表
index on str(身高)+str(体重) to xx DESCENDING
total to 表1 on str(身高)+str(体重) FOR 年龄>20
use
*则 表1就是 大于20岁的人,按身高和体重降序排列
---------------------------------------------------
total 命令

计算当前选定表中数值字段的总和。

语法

TOTAL TO TableName ON FieldName
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]

参数
TableName

指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。

FieldName

指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。

FIELDS FieldNameList

指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。

Scope

指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅 Scope 字句主题或者《开发指南》的第二章“语言概述”。
total 命令默认的范围是全部 (ALL) 记录。

FOR lExpression1

指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》第十五章“优化应用程序”。

WHILE lExpression2

指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。

NOOPTIMIZE

关闭 TOTAL 的 Rushmore 优化。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》的第十五章“优化应用程序”。

说明

要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。
如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:

小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。

-----------------------------

index 命令
创建一个索引文件,利用该文件可以按某种逻辑顺序显示和访问表记录。

语法

INDEX ON eExpression TO IDXFileName | TAG TagName [OF
CDXFileName]
[FOR lExpression]
[COMPACT]
[ASCENDING | DESCENDING]
[UNIQUE | CANDIDATE]
[ADDITIVE]

参数

eExpression

指定一个索引表达式,该表达式中可以包含当前表中的字段名。在索引文件中,按索引表达式给每一个表记录都创建一个索引关键字,Visual FoxPro 使用这些关键字来显示和访问表中的记录。

附注
尽管不提倡,eExpession 也可以是一个内存变量、数组元素或者其他工作区中表的字段或字段表达式。备注字段不能单独用于索引文件表达式中,它们必须与其他的字符表达式结合起来。如果索引中包含的变量或字段不存在或不能定位,Visual FoxPro 会产生错误信息。
如果索引表达式中的字段以表别名或工作区字母开头,Visual FoxPro 会产生错误信息。虽然在包含别名字段的情况下,可以用 Rushmore 技术优化 FOR 子句,但在创建索引时最好避免使用别名字段。在有些情况下(USE ... AGAIN、SQL 查询等等),Visual FoxPro 会自动给表指定一个不同的别名,这时可能不能正确更新或使用索引。有关 Rushmore 技术的详细内容,请参阅《开发指南》第十七章“优化应用程序”。

如果要建立一个具有可变长度关键字的索引,关键字会被空格填充。Visual FoxPro 不支持可变长度的索引关键字。
索引关键字的长度可以为 0。例如,当索引表达式是空备注字段的一个子字符串时,所创建的索引关键字长度就为 0。当 Visual FoxPro 创建索引时,它检验表中第一个记录的字段,如有一个字段为空,可能需要向第一个记录中这样的字段内填入一些临时数据,以免产生长度为 0 的索引关键字。

TO IDXFileName

创建 .IDX 索引文件。索引文件的默认扩展名为 .IDX,可以使用一个与之不同的扩展名,也可以在 Visual FoxPro 配置文件内改变索引文件的这个默认扩展名。创建索引文件时,必须遵循标准 MS-DOS 的文件命名规则。

TAG TagName [OF CDXFileName]

创建一个复合索引文件。复合索引文件是一种可包含任意数量的独立标识(索引项)的单个索引文件,每一个标识都由其唯一标识名确定。标识名必须以字母或下划线开头,最多可由 10 个字母、数字或下划线组成。复合索引文件中的标识数目仅受可用内存和磁盘空间的限制。
多项复合索引文件一般是压缩的。创建复合索引文件时不必包含 COMPACT 。复合索引文件的扩展名为 .CDX。
可创建的复合索引文件有两种类型:结构复合索引文件的和非结构复合索引文件。

结构复合索引文件

在 TAG TagName 参数中不包含可选的 OF CDXFileName
子句,便可以创建结构复合索引文件。结构复合索引文件的基本名(不含扩展名的文件名)总是与表的基本名相同,并且自动与表同时打开。
如果一个表的复合索引文件不能被定位、已被删除,或者已被重命名,则在打开该表时会显示一个对话框。这时如果在对话框中选择默认的“取消”按钮,则不打开表;如选择“忽略”按钮,则打开该表,并且删除表头中的标记。表头表明该表与结构复合索引文件相关联。

提示
如果一个结构复合索引已经与它的表脱离关系,则用下面的命令可以使它重新和表相关联:

USE TableName INDEX CDXFileName

其中,CDXFileName 是与表脱离关系的结构复合索引名。如果结构复合索引与表脱离关系以后对表进行了修改,则需要重索引该表。

非结构复合索引文件

在 TAG TagName 参数之后包含 OF CDXFileName,便可以创建非结构复合索引文件。与结构复合索引不同的是,必须明确使用 SET index 命令或 USE 命令中的 INDEX 子句打开非结构复合索引文件。
创建并打开一个复合索引文件之后,执行带有 TAG TagName 参数的 index 命令可以在该复合索引文件中添加一个标识。

FOR lExpression

指定一个条件,只显示或访问满足这个条件表达式 lExpression 的记录,索引文件只为那些满足条件表达式的记录创建索引关键字。
如果 lExpression 是一个可优化表达式,Rushmore 将优化 INDEX ... FOR lExpression 命令。要获取最佳性能,请在 FOR 子句中使用可优化表达式。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术,或者《开发指南》第十七章“优化应用程序”。

COMPACT

使用 COMPACT 可以创建一个压缩的 .IDX 文件。

ASCENDING

指定 .CDX 文件为升序。在默认情况下,按升序创建 .CDX 标识(包含 ASCENDING 参数可以将索引文件的排序方式明确指示出来)。同样,包含 DESCENDING 可按降序索引一个表。

DESCENDING

指定 .CDX 文件为降序。在创建 .IDX 文件时不能包含 DESCENDING 参数,但可以用 SET INDEX 或 SET ORDER 命令将 .IDX 索引文件指定为降序。

UNIQUE

对于一个索引关键字值,只有第一个满足该值的记录包含在 .IDX 文件或 .CDX 标识中。利用 UNIQUE 子句可以避免显示或访问记录的重复值。所有添加到表中的记录,如果与表中原有记录有重复的索引关键字值,则不包含在索引文件之内。使用 index 命令的 UNIQUE 选项,与在执行 INDEX 或 REindex 命令之前执行 SET UNIQUE ON 命令完全等效。
在 UNIQUE 索引或索引标识处于激活状态时,如果更改了一个有重复索引关键字值的记录,则同时需要更新索引或索引标识。但在重新用 REindex 命令重索引该文件之前,仍然不能访问下一个有相同索引关键字值的记录。

CANDIDATE

创建候选结构索引标识。只有在创建结构索引标识时才能包含关键字 CANDIDATE;否则,Visual FoxPro 会产生错误信息。
使用候选索引标识可以避免索引表达式 eExpression 指定的字段或字段组合有重复值。Candidate(候选)一词是指索引类型;因为候选索引中不同的记录没有重复值,所以它们可以作为主索引的“候选”索引。
如果一个字段或字段组合已包含重复值,那么为它创建候选索引标识时,Visual FoxPro 会产生错误信息。
有关候选索引标识和主索引标识的详细内容,请参阅设置主索引或候选索引 和《开发指南》第七章“处理表”。

ADDITIVE

所有先前已打开的索引文件保持打开状态。如省略 ADDITIVE 子句,则在用 index 命令创建索引文件或表时,关闭所有先前已打开的索引文件(结构复合索引文件除外)。

说明
在具有索引文件的表中,可以按索引表达式所规定的顺序显示或访问记录,但并不按索引文件更改表的物理存储顺序。
如果 SET TALK 设置成 ON,则在索引过程中,Visual FoxPro 会报告已建立索引的记录数目。索引过程中显示记录的计数器间隔可由 SET ODOMETER 指定。
使用 DISPLAY STATUS 命令可以显示打开的索引文件的许多内容,其中包括所有打开的索引文件的文件名、类型(结构、非结构的 .CDX、.IDX)、索引表达式、排序序列以及主控索引文件名或主控标识名。
可以打开的索引文件(.CDX 或 .IDX)数目只受内存或系统资源的限制。在 Visual FoxPro、FoxPro for Windows 和 FoxPro for MS-DOS 中,能打开的文件总数目由 MS-DOS 的配置文件 CONFIG.SYS 中的 FILES 设置决定。有关 FILES 设置的详细内容,请参阅 MS-DOS 手册。

索引类型

Visual FoxPro 允许创建两种类型的索引文件:

包含多个索引标识项(索引名)的 .CDX 复合索引文件
包含一个索引项的 .IDX 单项索引文件
也可以创建结构复合索引文件,这种索引文件在打开表时自动打开。

提示
因为结构复合索引文件随表的打开而自动打开,所以这种类型比较常用。

包含 COMPACT 子句可创建压缩的 .IDX 索引文件,复合索引文件总是压缩的。
在 Visual FoxPro 与 FoxBASE+ 或 FoxBASE+ for Macintosh 中共享文件时,应该使用非压缩的 .IDX 索引文件。否则,在创建 .IDX 时,应包含 COMPACT 子句以利用 Visual FoxPro 的 Rushmore 技术。

索引的顺序与更新

表的显示或访问顺序只由一个索引文件(主控索引文件)或标识(主控标识)控制。有一些命令(如 SEEK 命令)使用主控索引文件或标识搜索记录,但是在修改表时,所有已打开的 .IDX 和 .CDX 索引文件都将被更新。使用 USE
命令的 INDEX 子句或 SET INDEX 和 SET ORDER 命令可以指定主控索引文件或标识。

用户自定义函数

索引表达式中虽然可以包含用户自定义函数,但最好不要这样做,因为索引表达式中使用用户自定义函数会增加创建或更新索引所需的时间。另外,如果索引表达式中使用了用户自定义函数,有可能不更新这个索引。
如果索引表达式中使用了用户自定义函数,则应该保证 Visual FoxPro 能够找到这个函数。当 Visual FoxPro 创建索引时,索引表达式存储在索引文件中,但用户自定义函数并不存储在索引文件中,索引文件中只保存指向用户自定义函数的引用。
----------------------------------

热心网友 时间:2024-10-07 19:14

楼上的搞得太复杂了,不知讲些什么。
use 表名
SORT ON 身高/D,体重/D FOR 年龄>20 TO C:\LSB
use C:\LSB
browse

ok了吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
迷茫时发朋友圈的句子 戴尔Precision M4600(酷睿I5 2520M/4GB/500GB/1366x768)基本参数_百度... 发动机通电不自检,,风扇一直转 决战平安京铃鹿御前技能介绍 最强射手正式上线 ...顺序介绍_《决战!平安京》泷夜叉姬技能连招顺序是什么 如何去除牙石?溶解牙石疗法有哪些啊? 暴力罗曼史剧情简介 暴力罗曼史中到第几集大家发现朴武烈的保姆是坏人的? 暴力罗曼史 爱普生635k针式打印机 用的进销存软件 打印出单据来不正不是偏左就是... CF手游跳伞开车抢Q币活动地址 邀请好友能量换Q币网址-手游资讯-安族网... 如何对一个foxpro中的表进行排序 CF手游大吉大利Q币到手活动地址介绍_CF手游大吉大利Q币到手活动地址是... 奥特曼电影那些好看而不腻 古诗词中关于爱情的美好的誓言,要句子不要诗篇。要是能写出相关故事就更... 有没有那种就是支付宝给了借呗额度,却不想用的那种人,它只是想单纯的开... 大学宿舍床可以私自换吗 身体功能训练是什么课 ...谁能给我一些关于爱情的好诗句,古诗词更好,现代也行要经典,多了好... 小数1*.2569569……的小教部分第50位上的数是多少?小数部分前50位的... ...凤城寒尽怕春宵。求中国的关于爱情的古诗词 要非常经典的 越多越... 星途LX降至10.99万,换装奇瑞1.5T!便宜能救销量? 名师起名字?女儿生于二零一五年五月二十九日,姓李.下午六点三十五分... 广州到贵阳的高铁什么时候开通啊 长期用醋兑水洗脸可以吗? 如果在foxpro中统计包含一个字段的所有数据啊 在石家庄上大学的朋友请进来 王维最经典40首诗 大学宿舍床位可以随便移动吗?大学寝室可以私下换床位吗 贵广南广铁路有望下月联调联试 大竹河风景区的介绍 电话号码被封后能否注销 CF手游荒岛特训预约地址介绍_CF手游荒岛特训预约地址是什么 补贴收入的会计分录如何编制? 请问广州有没有高铁到贵阳? ...总是感觉很累不想动弹,吃自然阳光净迈甜菜根粉能补给能量让身体充满... 能力和人品同样重要 请问公司有没有可能面试20天后再叫你上班啊 ...1)实验1中,观察到铜片上的白磷燃烧而红磷不燃烧 ...个重要的对比实验.(1)实验1中,观察到铜片上的白磷 ...图一观察到铜片上白磷燃烧并产生白烟,红磷不燃烧.水中白磷没有明显现... ...组重要的对比实验.(1)实验1中,观察到铜片上的白磷 物质燃烧需要的条件是什么?化学兴趣小组做了以下探究.(1)第一小组... ...的两个实验(1)按图1实验:(着火点:白磷40℃,红磷240 ...下面是初中化学中几组重要的对比实验。 (1)实验1中,观察到A... ...结果发现只有铜片上的白磷能燃烧。铜片上的红磷不能燃烧 大学宿舍床位可以随便移动吗?大学寝室可以私下换床位吗 束缚带有什么危害 大学宿舍床可以私自换吗 有没有那种就是支付宝给了借呗额度,却不想用的那种人,它只是想单纯的开...