从记录集创建字段名称

时间:2010-01-14 14:45:55

标签: ms-access concatenation recordset

我有一个表单,显示有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)

1 个答案:

答案 0 :(得分:1)

正确的while循环是:

虽然不是rs.EOF
'Me.chkAudience1.Value = -1
Me.Controls(“chkAudience”&(rs(1).Value))。值= -1
rs.MoveNext
WEND

关键是Me.Controls()。