如何在 VFP 中计算条件?

how to count with condition in VFP?

我正在尝试根据 VFP.I 中的条件进行计数,我没有尝试 select 任何东西,所以我认为我不能在这里使用计数(如果我错了请纠正我)。

我使用 reccount() 来计算 table 中的行数,但我需要使用 reccount() 添加条件, 例如,我想统计条件为itemid=counter1的行,其中itemid中有重复的数字,但counter1是我最初设置的计数器。所以我想统计有多少个itemid=1,以此类推。 我的陈述是否类似于

RECCOUNT() where itemid=counter1

在VFP的手册中,reccount似乎不能带任何条件。如果没有 select 命令,我找不到任何其他方法来计算条件。谁能给些建议?

使用“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

这种方法的妙处在于它不会移动游标中的记录指针。