Ms Access,双击列表框元素以更新表单

Posted

技术标签:

【中文标题】Ms Access,双击列表框元素以更新表单【英文标题】:Ms Access, double click listbox element to update form 【发布时间】:2016-09-05 17:42:00 【问题描述】:

我正在尝试在 Access 的表单中改进搜索文本字段。我正在搜索我的客户姓名,并且已经能够实现“键入时搜索”文本框,该文本框链接到显示匹配记录的列表框。

现在我想简单地双击列表框中的一个项目并自动更新表单的所有字段。我很确定它已经存在,但我找不到它。我很高兴有人指出现有资源或任何东西。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

在列表框的On Dbl Click 事件中,单击按钮并选择代码生成器。

然后您将需要编写一些代码来确定列表框的哪一行被选中。使用列表框的.ItemData 方法。见here

这将返回列表框绑定列中的值,您可以使用该值告诉表单导航到与该绑定列值匹配的记录。如果列表框绑定的列不是主键,您可能希望使用DLOOKUP 来查找记录 ID。然后导航到记录。为此,您可能需要 .FindRecord 方法。见here

【讨论】:

.ItemData 为我解决了这个问题。谢谢!但是,对于您的其余答案,我试图理解 .FindRecord,但失败了,哈哈。我将使用 DAO、SQL 和 rst.Fields("FieldX") 来更新表单的每个字段。我希望有一个更简单的解决方案,但它最终会起作用 是的,这可能不是最简单的方法,但这完全取决于您编写的代码。因此,您可以从列表框中捕获选定的行,但是您无法导航到绑定表单上的该记录,对吗?您可以编辑您的问题以包含您使用.ItemData 编写的代码吗?

以上是关于Ms Access,双击列表框元素以更新表单的主要内容,如果未能解决你的问题,请参考以下文章

MS Access VBA - 在表单上提取列表框值(使用表单名称。)

在 MS Access 中选择列表框

MS Access 2013 - 根据文本框中的值过滤列表框中的值

从 MS Access 表单中的动态列表框创建新的 Excel 电子表格

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

MS Access 2003 - 自动在表单的列表框中显示最后一条记录,而不是第一条