2015-10-16 46 views
0

我有一个带子窗体查询的窗体。子窗体查询有一排复选框(绑定到表)供用户选择多个项目。当用户按下命令按钮时,将运行另一个查询来搜索标记为true的所有复选框,然后打开另一个表单。我试图做到这一点,当按下另一个命令按钮时,子窗体查询中的所有复选框值都将更改为false。到目前为止,我只使用的代码将最后选中的复选框更改为false。我如何获得它将所有值更改为false?清除访问子窗体上的绑定复选框

Dim ctl As Control 

For Each ctl In Me.SuppliesQuerySubform.Controls 
    If ctl.ControlType = acCheckBox Then 
     If ctl.Value <> False Then 
      ctl.Value = False 
     End If 
    End If 
Next ctl 

回答

0

你有两个选择:

1)更新使用SQL的记录。像UPDATE tblItems SET IsSelected = FALSE WHERE ...东西(与复选框绑定到外地请以你的桌子和IsSelected tblItems。)然后,你应该刷新与.Requery

2你的子窗体)使用RecordsetClone。这实际上是您的子窗体中显示的记录的副本,您可以循环和更新。

With Me.RecordSetClone 
    .MoveFirst 
    Do While .Eof = false 
     .Edit 
     .Fields("IsSelected") = FALSE 
     .Update 
     .MoveNext 
    Loop 
End With 
+0

当我使用记录集选项我得到以下运行时错误7951:“您输入有一个无效参考RecordsetClone属性的表现。”我没有太多的工作,所以我不知道如何解决它。我在上面的代码中改变的唯一的事情是.IsSelect被更改为我的字段名称Select。 – Mouse

+0

我的错误。改用'.Fields(“IsSelected”)'。我将在主要答案中修复它 –

+0

它仍然给我同样的错误。当我点击调试时,它的第一行突出显示。 – Mouse