Buenas colegas.
La cuestion es que tengo un procedimiento en el cual inserto registros en una tabla mediante un bucle que recorre elementos en dos controles listview, la cuestion es que quiero que los registros que solo me agregue solo los registros que este chekados, es esto posible, lo ue intente es lo siguiente: , de antemano gracias
Private Sub cmdliquidar_Click()
Dim i As Long
Dim f As Long
Dbpath = App.Path & "\" & DirectorioBase & "\" & Db_A_Name
StrSql = "SELECT * FROM tbl_liquidacion"
Set Db = DBEngine.OpenDatabase(Dbpath, False, False, ";pwd=" & StrPass)
Set Rst = Db.OpenRecordset(StrSql)
For i = 1 To Me.ListView1.ListItems.Count
For f = 1 To Me.ListView2.ListItems.Count
If Me.ListView2.ListItems.Item(i).Checked = True Then
Rst.AddNew
Rst!codigo = Me.ListView1.ListItems.Item(i).Text
Rst!legajo = Me.ListView2.ListItems.Item(i).Text
Rst.Update
End If
Next f
Next i
End Sub
pues creo que la lógica esta bien, pero segun lo que veo en tu código me hace suponer que los items seleccionados del Listview2 dependen de que item este seleccionado en el Listview1, por lo que creo que tal vez deberías modificar un poco tu código.
Private Sub cmdliquidar_Click()
Dim i As Long
Dim f As Long
Dbpath = App.Path & "\" & DirectorioBase & "\" & Db_A_Name
StrSql = "SELECT * FROM tbl_liquidacion"
Set Db = DBEngine.OpenDatabase(Dbpath, False, False, ";pwd=" & StrPass)
Set Rst = Db.OpenRecordset(StrSql)
For i = 1 To Me.ListView1.ListItems.Count
ListView1_ItemClick ListView1.ListItems(i) ' aqui usas este evento para simular que das click en el item del listview1
For f = 1 To Me.ListView2.ListItems.Count
If Me.ListView2.ListItems.Item(f).Checked = True Then
Rst.AddNew
Rst!codigo = Me.ListView1.ListItems.Item(f).Text ' Aqui debes usar la variable f, que es con la que recorres el listview2
Rst!legajo = Me.ListView2.ListItems.Item(i).Text
Rst.Update
End If
Next f
Next i
End Sub
Gracias amigo por tu ayuda, podes cerrar el tema