【问题标题】:Checkboxes firing on all records instead of the selected record复选框在所有记录而不是选定记录上触发
【发布时间】:2019-10-23 19:58:30
【问题描述】:

我正在构建一个包含子表单的表单,以将记录作为数据表列出。子表单上的字段来自已保存的查询。在子表单中,我添加了一个复选框控件作为记录选择器。

问题是:当我点击子表单上特定记录的复选框时,所有记录上的所有复选框都会显示一个检查,而不仅仅是我单击的那个。我无法弄清楚是什么导致了这种不良行为。

非常感谢任何解决此问题的见解或建议。

【问题讨论】:

    标签: forms ms-access checkbox


    【解决方案1】:

    您的复选框未绑定 - 在任何连续形式或数据表中,未绑定控件对所有记录都具有相同的值(否则它们如何未绑定?)。

    您必须在记录源中添加一个“选择器”列。只有绑定的控件可以对不同的记录有不同的值。

    【讨论】:

    • 知道了!我知道我现在可以如何解决这个问题。谢谢。
    • 如果答案解决了您的问题,您可以accept it,这也将问题标记为已解决。 @TomZvolensky
    • @TomZvolensky 您是如何在记录源中添加“选择器”列的?表中的新列?多用户数据库?
    • @Andre:绑定到一个表达式就足够了,通过Detail_Paint 事件,您应该能够设置不同的值。with'emptyControlSource
    • @ComputerVersteher 我向包含表单上的视图(查询)的表之一添加了一个真/假列。它在表单上显示为一个复选框。选中该框后,将通过从按钮运行的查询来选择记录,以针对特定目的处理该信息。
    【解决方案2】:

    您可以使用clsCCRecordSelect-Class from SelectRecordsV2,而不是在表中创建字段(selection-data 只是临时的)。

    它将控件绑定到一个表达式(调用ControlSource中的一个函数,该函数返回复选框的值,存储在类的集合中)并使用controlsMouseDown事件更改值(作为控件绑定到表达式是只读的)。

    这使得选择多用户可控制并避免为表格创建额外的选择字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      相关资源
      最近更新 更多