【发布时间】:2016-10-28 13:15:24
【问题描述】:
我为 Access 编写的 VBA 有问题。我有一个包含连接字段“Concat”(字符串字段)和名为“Age”的字段(具有数值的整数字段)的表。
还有另外 61 个字段(分别命名为“0”、“1”、“2”...“60”),但代码需要在其中工作:我希望代码循环遍历,并且,每个记录条目 -使用 Concat + age 字段将 VBA 用于 Dlookup 到另一个表(称为:tbl_Final_Probabilities)并拉回概率并用正确的概率填充这 61 个字段中的每一个。这些字段设置在数字字段中,数据类型为 Single。
代码提取了正确的概率,但是当我尝试在代码行更新该字段的记录时:“rs.Fields(a) = b”(也在代码中突出显示),我收到错误消息:“运行时间错误“3164”:“无法更新字段”。
欢迎大家帮助我解决这个问题,使用的代码如下。
拳打脚踢。
代码:
Dim rs As DAO.Recordset
Dim a As Integer
Dim b As Single
Dim lookup As String
Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_Circuit_plus_prob")
For a = 0 To 60
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
lookup = rs!Concat & (rs!age + a)
b = DLookup("Prob_Date", "tbl_Final_Probabilities", "Concat2 = '" & lookup & "'")
rs.Fields(a) = b '- CODE BREAKS DOWN HERE
rs.Update
rs.MoveNext
Loop
End If
Next a
rs.Close
Set rs = Nothing
提前感谢所有帮助。
【问题讨论】:
标签: ms-access vba ms-access-2010