【发布时间】:2012-03-22 12:08:36
【问题描述】:
我正在使用 Access 2007 并在 VBA 中编写宏。 “分析”子例程传递一个记录集 rev_rec。该记录集有两个字段“PeriodNo”(整数)和“Revenue”(双精度)。 Minrev 是一个变量,我必须在其中存储“收入”字段的最小值。我正在使用的代码如下。
Public Sub Analyze(rev_rec As DAO.Recordset)
Dim Minrev As Double
rev_rec.MoveFirst
Minrev = rev_rec("Revenue")
While Not rev_rec.EOF
If rev_rec("Revenue") < Minrev Then
Minrev = rev_rec("Revenue")
End If
rev_rec.MoveNext
Wend
rev_rec.MoveFirst
.
.
.
End Sub
我尝试将 DMin() 与记录集一起使用,但无法找到一种方法来做到这一点。有没有办法在不使用任何循环的情况下做到这一点?
【问题讨论】:
-
我认为最好的办法是使用一条 SQL 语句构建一个新的记录集,该语句只检索一条记录,即在所需时间段内具有最小值的一条记录。另一种选择是,您可以使用收入列升序上的排序方式打开此特定记录集。这样您就知道最小值将在第一条记录中。
-
@HK1 我看不出这个答案有什么问题:)
标签: ms-access vba ms-access-2007