如何解决如何修复 VBA 中的 MS Access Form Combobox 错误
我最初在表单中将我的组合框 cbSortOrder 定义为固定值列表。我现在尝试使用数组在 VBA 代码中设置它。我曾尝试使用变体和字符串数组,但认为我的问题与此无关,而是与组合框定义有关。
尝试在 With 语句中设置这些值时,出现对象不支持方法错误。
解决方法
很遗憾,您不能在 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。