Access中如何修改未绑定列表框指定行内容?
解决Access未绑定列表框修改行内容的问题
错误和列表框是否绑定无关,问题出在你对List属性的使用方式上——Access的列表框List是二维数组结构,哪怕是单列列表框,也必须同时指定行索引和列索引,不能只传行索引。
正确的修改方式
- 首先确认当前有选中行(
ListIndex不等于-1,否则会触发报错) - 通过
List(行索引, 列索引)来修改对应位置的内容
单列列表框示例
假设你的列表框名为lstMyUnboundBox,是单列:
If Me.lstMyUnboundBox.ListIndex <> -1 Then ' 修改选中行的第0列(单列列表框的唯一列索引是0) Me.lstMyUnboundBox.List(Me.lstMyUnboundBox.ListIndex, 0) = "替换成新内容" End If
多列列表框示例
如果是多列列表框,修改指定列(比如第二列,索引为1):
If Me.lstMyUnboundBox.ListIndex <> -1 Then ' 修改选中行的第1列 Me.lstMyUnboundBox.List(Me.lstMyUnboundBox.ListIndex, 1) = "更新的第二列内容" End If
为什么之前会报错?
你直接写listbox.list(listbox.listindex)只传递了行索引,Access无法识别这个写法,因为List属性要求两个参数(行、列),哪怕是单列也不能省略列参数,这才导致了“找不到方法或数据成员”的错误,和列表框是否绑定完全无关。
内容的提问来源于stack exchange,提问作者Marco Gussoni
相关产品推荐
相关产品推荐

