使用表单复选框设置 Access 数据库 table 字段

set Access database table field with form check box

我正在尝试使用表单上绑定复选框的值来设置 table 上数字字段的值。如果选中,该值需要为 40,如果未选中,则该值为 0。我是新手,不知道从哪里开始。

不,复选框已添加到表单并绑定到 table 中的数字字段。数据是从一个过时的系统导入的,该系统使用大多数用户无法理解的代码,所以如果它在 table 中显示 40,我只想让表单显示为已选中,所有其他值应该显示为未选中,我想要用户 checking/unchecking 相应地更新 table 的复选框。

复选框用于指示客户是否提供了直接付款信息。 40 表示他们拥有,除 40 之外的任何东西都表示他们没有。

一种方法是在 Access 中使用 VBA。在 Access 中访问 VBA 控制台的方法是在窗体的设计视图中,右键单击复选框控件并从菜单中选择 "Build Event"。确保您的控件的三重状态在表单设计视图中的复选框 属性 中设置为 "Yes"。此外,请确保复选框的控制源指向 table 中放置数据的字段。

请注意,在执行此操作之前,为您的控件名称加上前缀会很有帮助...例如 chkDebitInfo..."chk" 代表复选框。您可以在 属性 sheet 中更改控件的名称,方法是单击“其他”选项卡,然后简单地更改默认名称,它可能类似于 Check625。此外,您希望将 table 字段的数据类型设置为 "Integer",以便它保存值。

进入 VBA 控制台后,选择“构建事件...”后,您会看到控件的子过程。我已经为您做了一个示例:

Private Sub chkDebitInfo_Click()

If chkDebitInfo.Value = True Then
   chkDebitInfo.Value = 40         // Sets the checkbox to 40 if checked

ElseIf chkDebitInfo.Value = False Then
    chkDebitInfo.Value = 0        // Sets the checkbox to 0 if un-checked

End If

End Sub

我已经评论了设置复选框值(如果选中或未选中)的语句,因此您不必添加它们。只需将控件名称替换为您的控件名称,或者如果您没有更改它,则使用默认名称,这很好。然后,当复选框被选中或未选中时,您将看到数据库中填充的值 table。

或者,您可以将复选框设置为表单加载时的默认值,但您没有说明,所以我不会深入探讨。希望这可以帮助。让我知道是否需要进一步阐述。