【发布时间】:2014-04-14 10:22:51
【问题描述】:
我希望这是一个简单的问题,您不必为此浪费太多时间。 我有一份报告(称为 repRAD78),其中包含一个文本框(称为 txtRAD8)。我想使用基于从名为 qryrRAD78 的查询中提取的数字的计算值填充 txtRAD8。 浏览论坛,看起来记录集将是解决方案,但这是我第一次涉足记录集,但进展并不顺利。 :( 我粘贴在下面的代码是我从多个地方提取的,它不会产生任何错误,但会将相同的值放入 txtRAD8 中的所有记录。 如果这是一个愚蠢的问题,我很抱歉,但它一直让我如厕。 非常感谢您的时间。 阿尔。
Public Sub Calc()
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("qryrRAD78")
rst.MoveFirst
Do Until rst.EOF = True
Dim lngMean As Long
Dim lngRAD78max As Long
Dim lngRAD78_1 As Long
Dim lngRAD78_2 As Long
Dim lngRAD78_3 As Long
Dim lngRAD7 As Long
Dim lngRAD8 As Long
lngRAD78_1 = rst![RAD78_1]
lngRAD78_2 = rst![RAD78_2]
lngRAD78_3 = rst![RAD78_3]
lngRAD8b_c = rst![RAD8b_c]
lngMean = (lngRAD78_1 + lngRAD78_2 + lngRAD78_3) / 3
lngRAD78max = Maximum(Abs(lngRAD78_1), Abs(lngRAD78_2), Abs(lngRAD78_3))
lngRAD7 = ((lngRAD78max - lngMean) / lngMean) * 100
lngRAD8 = ((lngMean - lngRAD8b_c) / lngRAD8b_c) * 100
txtRAD8.Value = lngRAD8
rst.MoveNext
Loop
rst.Close
dbs.Close
End Sub
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Calc
End Sub
【问题讨论】:
标签: vba ms-access report recordset