关于ms访问权限:MultiSelect Listbox问题

MultiSelect Listbox issues

我在将列表框变成多选列表框时遇到问题。我知道使列表框成为多选的代码是:

1
[forms]![formname]![listboxname].multiselect=2

但是,当我在Private Sub Form_Load()中运行此命令时,会出现运行时错误\\'2448 \\',您无法为该对象分配值。

我想我不了解如何使列表框成为多选框,但是我很确定我了解如何在VBA中使用多选列表框。

任何有关如何使用以上代码将列表框实际更改为多选的帮助,将不胜感激。


从Microsoft Office帮助中的属性MultiSelect

This property can be set only in form Design view.

在"表单设计"中设置此属性,不要尝试在代码中更改它。

使用MultiSelect的一些示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
' 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


我找到了一种通过Vba代码设置Multiselect属性的方法:

1
2
3
4
5
6
DoCmd.SetWarnings = False
    DoCmd.OpenForm myformname, acDesign
    Forms(myformname).SetFocus
    Forms(myformname).Controls(List3).MultiSelect = 0
    DoCmd.Close acForm, myformname
DoCmd.SetWarnings = True