根据组合框中的是/否值逐行更新表格列

Posted

技术标签:

【中文标题】根据组合框中的是/否值逐行更新表格列【英文标题】:Update table column line by line based on yes/no values from combo box 【发布时间】:2020-05-06 19:41:17 【问题描述】:

我对 Access 和 VBA 很陌生,但我想做的很简单:

我有一张表格,我想在表格中显示,我已将表格放在子表格框中。 我想有一列我想根据组合框中的选项更新状态(是/否/也许)。

所以如图所示:我想在子窗体中选择一行并通过在组合框中选择一个选项来更新列状态。

【问题讨论】:

需要表中的字段来接收数据。要么将该字段设置为组合框(我从不在表中这样做),要么在子表单中使用表单对象而不是表并在表单上构建一个组合框。 【参考方案1】:

您可以在组合框的AfterUpdate事件中修改子表单中选中的记录。

Private Sub cboStatus_AfterUpdate()
    subForm1.Form!Status = cboStatus
End Sub

这假定您的组合框控件命名为cboStatus,您的子窗体命名为subForm1,并且您要更新的字段命名为Status。它还假设您没有使用数字 ID 作为值的外键。

您一次只能更新一行。


超出你的问题范围......

还有许多其他方法可以开发用于编辑行的界面。一种方法是修改表中的字段Lookup 属性。您可以将显示控件更改为组合框,将行源类型设置为值列表,然后将行源设置为以分号分隔的可能值列表。

现在,每当您在数据表视图中打开该表(如您的子表单上的示例)时,该列中都会出现一个下拉菜单。用户可以直接在该视图中进行编辑,而无需单独的组合框控件。

【讨论】:

以上是关于根据组合框中的是/否值逐行更新表格列的主要内容,如果未能解决你的问题,请参考以下文章

如何在VBA中的用户窗体上使用组合框和文本框来搜索和查找活动Excel电子表格中的数据?

Ms Access - 从组合框列更新图像

Access VBA:根据非绑定列在组合框中查找项目

使用 T-SQL 根据先前行的值逐行更新表

如何根据字典中的键值逐行向熊猫数据框添加值?

根据插入第一个组合框中的数字生成组合框