mYn*_*EAm 2 checkbox ms-access listbox ms-access-2010
我是Microsoft Access的新手,想要创建一个带复选框的ListBox(或ListView),但是我找不到任何本地方式.
我的目的是显示一个值列表,并根据在窗体上的ComboBox中选择的值来检查一些值.
请注意,我需要对表单而不是表格进行这样的控制(对此有"多值查找字段").(除非有一种方法可以创建一个带有一个只有多值列的表的子表单,该表对ComboBox中选择的内容作出反应.)
将"多选"属性设置为"简单"的普通列表框不显示复选框.
我也看不到这里描述的"ListStyle"属性.
也许以某种方式可以在ListBox中显示两列,其中第一列呈现为复选框?
您可以使用该ListView控件.它位于ActiveX控件下,全名是Microsoft ListView Control, version 6.0.
它有一组单独的属性:右键单击 - > ListViewCtrl对象 - >属性,中有Checkboxes属性.
要使用数据填充列表视图,请参阅例如ACC:用于填充ListView控件的示例函数
更多信息:使用ListView控件
编辑
要轻松使用Listview对象模型,请在我的Windows7 64位上设置对Microsoft Windows Common Controls 6.0= 的引用C:\Windows\SysWOW64\MSCOMCTL.OCX.
编辑2
我使用带有复选框的TreeView.每个Node都有一个Checked属性,用于检查或取消选中其复选框.Treeview有节点的地方,Listview有ListItems,但它们也有一个Checked属性.
Treeview的简化代码(没有层次结构):
Dim oTree As TreeView
Dim oNode As Node
Dim RS As Recordset
Set oTree = Me.myTreeView.Object
oTree.Nodes.Clear
Set RS = DB.OpenRecordset("My query to fill the treeview")
Do While Not RS.EOF
Set oNode = oTree.Nodes.Add(key:=RS!foo, Text:=RS!bar)
oNode.Checked = (RS!someValue > 0)
RS.MoveNext
Loop
RS.Close
Run Code Online (Sandbox Code Playgroud)