由于这里存在的问题,我正在使用DAO记录集来更新表。
当我知道要更新的字段的名称时,这工作正常,例如:
rs2.AddNew
rs2![ContactID] = rs.Fields(0).Value
rs2![Fee Protection Insurance] = "" & strValue & ""
rs2.Update
完美工作。
但是,我尝试更新的字段并不总是具有相同的名称,因此我也尝试在此处使用一个变量,期望它能够计算并与上述代码等效:
rs2.AddNew
rs2![ContactID] = rs.Fields(0).Value
rs2!["strFieldName"] = "" & strValue & ""
rs2.Update
但它告诉我该项目不在集合中,即使 strFieldName 设置为费用保护保险。
我已经尝试了各种方法,包括:
rs2![" & strFieldName & "] = "" & strValue & ""
rs2![strFieldName] = "" & strValue & ""
rs2!["" & strFieldName & ""] = "" & strValue & ""
rs2![cStr(strFieldName)] = "" & strValue & ""
这些都不起作用。
我这样做的方式是错误的,还是在尝试一些不可能的事情?
尝试使用这个:
rs2.Fields(strFieldName) = "" & strValue & ""
建议的解决方案
rs2.Fields(strFieldName) = "" & strValue & ""
可以缩短为
rs2(strFieldName) = "" & strValue & ""
答案是的,您可以访问变量字段名称。例如:我有一个有多个按钮的表单...下面介绍了如何命名和访问它们。
为表单上的每个按钮命名:MyButton(1) 到 MyButton(X)该代码通过更改标题将数字放在每个按钮上。stButton 是按钮名称的字符串值
X=10
对于 Btn = 1 到 X
Set StButton = Me("MyButton" & "(" & Btn & ")")
StButton.Caption = Btn
下一个 Btn