Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: mdg en 16 Octubre 2007, 22:25 PM

Título: Chekbox en ListView
Publicado por: mdg en 16 Octubre 2007, 22:25 PM
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
Título: Re: Chekbox en ListView
Publicado por: CeLaYa en 17 Octubre 2007, 03:37 AM
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
Título: Re: Chekbox en ListView
Publicado por: mdg en 17 Octubre 2007, 16:25 PM
Gracias amigo por tu ayuda, podes cerrar el tema