访问VBA LISTBOX寻址

时间:2017-01-31 15:04:27

标签: access-vba ms-access-2010

我想简单地在列表框中上下移动选定的行。 我的代码有效 - 但我不明白为什么! 在Selected和ListIndex之间有明显的参考差异。如果有人能指出我忽略的(无疑是基本的)观点,我将不胜感激

Private Sub INPUT_AfterUpdate()

  If Me.INPUT = "up" Then Call go_up
  If Me.INPUT = "down" Then Call go_down

  Me.show = me.List59.Column(1)
  Me.INPUT = ""

End Sub

Private Sub go_up()

  Temp_var = Me.List59.ListIndex
  '!!!!!! why  do I not need to change Temp_var !!!
  me.List59.Selected(Temp_var) = True
End Sub

Private Sub go_down()
  Temp_var = Me.List59.ListIndex
  Temp_var = Temp_var + 2 '!!!!!! why 2 !!!

  me.List59.Selected(a) = True
End Sub

1 个答案:

答案 0 :(得分:0)

  

为什么2?

因为 ListIndex 以0开头,而所选以1开头。

所以+ 1 / -1加1 - > +2/0。

最后一行应为:

Me.List59.Selected(Temp_var) = True