M-M*_*M-M 0 foxpro visual-foxpro
我正在尝试在VFP中根据条件进行计数。我没有尝试选择任何内容,所以我认为我不能在这里使用计数(如果我错了,请纠正我)。
我使用reccount()来统计表中的行数,但是我需要用reccount()添加一个条件,例如我想统计条件itemid=counter1的行,其中itemid中有重复的数字,但是counter1是我最初设置的一个计数器。所以我想统计一下有多少个itemid=1,等等。我的陈述是否类似于
RECCOUNT() where itemid=counter1
Run Code Online (Sandbox Code Playgroud)
在VFP的手册中,似乎recount不能与任何条件一起使用。如果没有 select 命令,我找不到任何其他方法来根据条件进行计数。有人可以提供一些建议吗?
使用“ Count ”关键字和“ For ”子句...您可以在For条件中引用光标中的字段。像这样:
Select MyCursor
Count to m.count For FieldValue = 1 and Blah = .t.
Run Code Online (Sandbox Code Playgroud)
请注意,这会将光标中的记录点移动到末尾,因此您需要存储 Recno() 并使用 Locate 将其恢复到原来的位置(如果需要)。
您还可以使用Select语句并通过引用VFP 在某些数据行函数之后使用的特殊值_Tally来确定计数。像这样:
Select * from MyCursor Where FieldValue = 1 and Blah = .t. Into Array laCount
lnCount = _Tally
Run Code Online (Sandbox Code Playgroud)
这种方法最酷的一点是它不会移动光标中的记录指针。
| 归档时间: |
|
| 查看次数: |
2703 次 |
| 最近记录: |