如何在VFP中计算条件?

时间:2018-09-24 00:01:46

标签: visual-foxpro foxpro

我正在尝试使用VFP中的条件进行计数。我没有尝试选择任何内容,因此我认为我不能在此处使用count(如果我输入错误,请更正我)。

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

RECCOUNT() where itemid=counter1

在VFP手册中,似乎recount无法在任何条件下进行。没有select命令,我找不到任何其他方法来计算条件。有人可以给些建议吗?

1 个答案:

答案 0 :(得分:3)

使用“ 计数”关键字和“ 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

此方法的优点是它不会在游标中移动记录指针。