如何在 MS Access 2010 中使用 VBA 选择多值组合框的值?
Posted
技术标签:
【中文标题】如何在 MS Access 2010 中使用 VBA 选择多值组合框的值?【英文标题】:How do I select values of a multivalue combobox using VBA in MS Access 2010? 【发布时间】:2014-07-14 15:46:52 【问题描述】:我有一个带有“公司”组合框和“地址”多值组合框的 MS Access 2010 表单。
选择公司后,更新后事件会重新查询地址组合框,以便仅列出与公司相关的地址。这完美地工作;但是大多数公司只有一个地址值,所以如果只有一个,我想自动选择地址。
我花了很多时间尝试各种方法,例如:
AddressCombo.Value = AddressCombo.ItemData(0)
这会引发“运行时错误 3032”,而以下内容似乎没有做任何事情。
AddressCombo.Selected(0) = True
我知道使用列表框更好,但我想知道这是否可以使用多值组合框来完成。
对于那些不了解多值组合框 (MSA 2007+) 的人,这里有一段视频:
http://www.youtube.com/watch?v=queKMe9MiSs
【问题讨论】:
您使用什么代码来填写地址组合?注意,MS Access 不支持多值组合框。 office.microsoft.com/en-us/access-help/… ... 注意新列表从另一个称为多值查找字段的数据库组件中获取数据。在您可以创建多值列表之前,您的一个数据库表中必须有一个多值查找字段。 请不要使用多值字段,除非您使用的是 Sharepoint。我想知道你是说列表框吗? 你可以从这里开始access.mvps.org/access/lookupfields.htm 虽然我坦率地承认自己是一个完全的新手,但这篇文章说查找表如果被理解而不被误用是很有用的。 improvingsoftware.com/2009/10/02/… 【参考方案1】:我打电话给一个比我聪明得多的朋友。他说,根据他的 VB 经验,有时在控件被激活之前,您无法访问控件的属性。
他建议在尝试设置选项之前使用 .Dropdown 来“激活”组合框。
Me!AddressCombo.SetFocus
Me!AddressCombo.Dropdown
Me!AddressCombo.Selected(0) = True
Me!AddressCombo.Selected(1) = False
Me!AddressCombo.Selected(2) = True
他是绝对正确的,代码使我能够选择所需的选项。
【讨论】:
以上是关于如何在 MS Access 2010 中使用 VBA 选择多值组合框的值?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET - VB.NET - 更新 MS_Access 表
如何在 VB.net 中使用 ROWNUM 从 MS-Access 数据库中检索数据