首页 > 解决方案 > 如何计算 VFP 中的条件?

问题描述

我正在尝试在 VFP 中使用条件进行计数。我没有尝试选择任何内容,所以我认为我不能在这里使用计数(如果我错了,请纠正我)。

我用reccount()来统计我的表中的行数,但是我需要用reccount()加一个条件,比如我想统计条件itemid=counter1的行,其中itemid里面有重复的数字,但是counter1是我最初设置的计数器。所以我想计算有多少 itemid=1,依此类推。我的陈述会类似于

RECCOUNT() where itemid=counter1

在 VFP 手册中,似乎记录不能满足任何条件。如果没有 select 命令,我找不到任何其他方法来计算条件。任何人都可以提出一些建议吗?

标签: visual-foxprofoxpro

解决方案


使用“ Count ”关键字和“ For ”子句...您可以在 For 条件中引用光标中的字段。像这样:

Select MyCursor
Count to m.count For FieldValue = 1 and Blah = .t.

请注意,这会将光标中的记录点移动到末尾,因此您需要存储 Recno() 并使用 Locate 将其恢复到它所在的位置(如果需要)。

您还可以使用Select语句并通过引用VFP 在某些数据行函数之后使用的特殊值_Tally来确定计数。像这样:

Select * from MyCursor Where FieldValue = 1 and Blah = .t. Into Array laCount

lnCount = _Tally

这种方法很酷的一点是它不会移动光标中的记录指针。


推荐阅读