我有一个表单,显示有10个复选框的项目信息。复选框通过“chkAudience10”命名为“chkAudience1”,“chkAudience2”等。可以从无到有以及其间的任何内容检查任何框的组合。
然后我有一个表格,将复选框链接到项目。该表包含一个名为ProjectID的字段和一个名为AudienceID的字段(两个字段都定义为数字)。这允许我选择项目的所有受众记录。
问题是我想遍历项目的记录并检查与表中记录匹配的框。我目前的代码如下:
sqlStmt = "SELECT * FROM ProjectAudience WHERE ProjectID = " & Me.ProjectID.Value
Set rs = cn.Execute(sqlStmt)
While Not rs.EOF
'Me.chkAudience1.Value = -1
x = "Me.chkAudience" & rs(1).Value
x.Value = -1
rs.MoveNext
Wend
x将设置为“Me.checkAudience1”,但下一行会产生“需要对象”错误。如何根据记录集数据创建字段名称,然后使用该字段名称设置值。 (这是完成Microsoft Access 2003)
答案 0 :(得分:1)
正确的while循环是:
虽然不是rs.EOF
'Me.chkAudience1.Value = -1
Me.Controls(“chkAudience”&(rs(1).Value))。值= -1
rs.MoveNext
WEND
关键是Me.Controls()。