我在将列表框放入多选列表框时遇到问题。我知道制作列表框多选的代码是:
[forms]![formname]![listboxname].multiselect=2
然而,当我在Private Sub Form_Load()中运行它时,我得到运行时错误' 2448'您无法为此对象分配值。
我想我不明白如何制作列表框多选,但我很确定我理解如何在VBA中使用多选列表框。
有关如何使用上述代码将列表框实际更改为多选的任何帮助将不胜感激。
答案 0 :(得分:6)
来自属性MultiSelect
的Microsoft Office帮助:
此属性只能在表单设计视图中设置。
在表单设计中设置此属性,不要尝试在代码中更改它。
使用MultiSelect的一些示例:
' Retrieve all selected values
Public Function ListBoxGetMultiSelect(ByVal rListBox As Access.ListBox) As String
Dim v As Variant
Dim vList As Variant
vList = ""
With rListBox
For Each v In .ItemsSelected
vList = vList & .Column(0, v) & vbCrLf
Next
End With
ListBoxGetMultiSelect = vList
End Function
' clear all selected values
Public Sub ListBoxClearSelection(ByVal rListBox As Access.ListBox)
Dim v As Variant
With rListBox
For Each v In .ItemsSelected
.Selected(v) = False
Next
.Value = Null
End With
End Sub
答案 1 :(得分:0)
我找到了一种通过Vba代码设置Multiselect属性的方法:
DoCmd.SetWarnings = False
DoCmd.OpenForm myformname, acDesign
Forms(myformname).SetFocus
Forms(myformname).Controls(List3).MultiSelect = 0
DoCmd.Close acForm, myformname
DoCmd.SetWarnings = True