У меня есть этот интерфейс:
Ввод данных:
Они загружены в ListView
:
Я хочу, чтобы при двойном щелчке на элементе, загруженном из списка, он совпадал со значениями, с которыми он был загружен. То есть я дважды щелкаю по элементу списка, он должен загрузить значения ComboBox, TextBox, CheckBox
, с которыми он был добавлен в Listview
. Это было бы так, чтобы в случае, если пользователь неправильно загрузил часть данных, он может редактировать ее, дважды щелкнув.
Я думал об этом, но это не сработало:
Private Sub List_Contactos_DblClick()
Dim i As Integer
Dim IntPrincipal As Integer
Dim IntVinculo As Integer
Dim IntTipo As Integer
If MebPreFijo.Text = "" And txttel.Text = "" Then
'For i = 1 To List_Contactos.ListItems.Count
'CmbTipoTel
If List_Contactos.ListItems(i).SubItems(1) = "Fijo" Then
IntTipo = 1
Else
IntTipo = 2
End If
CmbTipoTel.Text = List_Contactos.ListItems(i).SubItems(1)
'MebPreFijo
MebPreFijo.Text = List_Contactos.ListItems(i).SubItems(2)
'txttel
txttel.Text = List_Contactos.ListItems(i).SubItems(3)
'CheckPrincipal
If List_Contactos.ListItems(i).SubItems(4) = "SI" Then
IntPrincipal = 1
Else
IntPrincipal = 0
End If
ChPrincipal.value = IntPrincipal
'ComboTipoVinculo
If List_Contactos.ListItems(i).SubItems(5) = "" Then
IntVinculo = 0
Else
Rs.Open "select tv_id from dbo.Tipo_Vinculo where tv_descripcion='" & List_Contactos.ListItems(i).SubItems(5) & "'", Cn, adOpenKeyset, adLockReadOnly
IntVinculo = Rs!TV_Id
Rs.Close
End If
ChVinculo.value = IntVinculo
'Limpiar ese item
List_Contactos.ListItems.Remove List_Contactos.SelectedItem.Index
'Next i
Else
MsgBox "Tiene datos que se pueden perder. Por favor, presione añadir."
End If
End Sub
Предложения? Потому что, когда я нажимаю на элемент, я вижу следующую ошибку:
Index out of bounds Run-time error "35600"