微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复 VBA 中的 MS Access Form Combobox 错误

如何解决如何修复 VBA 中的 MS Access Form Combobox 错误

我最初在表单中将我的组合框 cbSortOrder 定义为固定值列表。我现在尝试使用数组在 VBA 代码中设置它。我曾尝试使用变体和字符串数组,但认为我的问题与此无关,而是与组合框定义有关。

尝试在 With 语句中设置这些值时,出现对​​象不支持方法错误

我附上了我的组合框的实际错误属性的屏幕图。

Error

Combo box general properties

Data properties

解决方法

很遗憾,您不能在 Access 中使用集合作为行源。 Value List 的行源类型是指以逗号(或分号)分隔的文本(取决于 Windows 中的列表分隔符设置)。

如果您不想使用这样的值列表,请使用 Table/Query 的行源类型并指定表或查询名称。您也可以直接在此字段中插入 SELECT 语句。

这也意味着,您必须将此行源类型的条目存储在表中。您也可以使用本地表代替后端的表。

此外,ComboBox 没有 List 属性。请改用 RowSource 属性。在表单后面的代码中,您可以省略 Forms("formName") 部分。

With cbSortOrder
    .RowSourceType = "Table/Query"
    .RowSource = "SELECT Id,Description FROM tlkpSortOrder ORDER BY Description"
End With

With cbSortOrder
    .ColumnCount = 2    ' If you have and id and a text
    .ColumnWidths = "0" ' Hides the Id column
    .RowSourceType = "Value List"
    .RowSource = "1,Ascending,2,Descending,3,Undefined"
End With

另见:ComboBox.RowSourceType property (Access)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。