Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Lettura dati

    Ciao a tutti comefaccio a leggere le righe di una listview??

    Utilizzo DAO!!

    Grazie Sara
    Grazie
    Sara

    www.tsnavigliana.it

  2. #2
    Un pò contorta come domanda!!!!
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  3. #3
    scusami, fose sono stata poco chiara...
    ho caricato una listview che ha proprietà checkedboxes.
    ora cliccando su un pulsante devo aggiornare i campi del db dove c'è il segno nella checkedbox. ma come devo fare??

    grazie Sara
    Grazie
    Sara

    www.tsnavigliana.it

  4. #4
    Scorri tutta la lista dal primo all'ultimo con un FOR..NEXT per ogni nodo Checcato reperisci l'ID del record e lanci un UPDATE su quel record impostandone il field che va modificato.

    Quando carichi la Listview per ogni nodo che carichi imposta la TAG del nodo stesso con il valore dell'ID del record che stai caricando in quel momento e che poi utilizzerai per fare quanto sopra descritto.

    Se non hai capito ritento.
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  5. #5
    codice:
    Option Explicit
    Dim db As Database
    Dim rs, ms As Recordset
    Dim sql As String
    Dim ind As Integer
    Dim mItem As ListItem
    Dim c As Integer
    Dim inc As Integer
    
    Private Sub Form_Load()
    c = 0
    TXTDATAOGGI.Text = Date
    
    Set db = OpenDatabase(App.Path & "\IlDadoBlu.mdb")
     sql = "select * from ScadenzarioPag Order by ScadFatt"
     
        Set rs = db.OpenRecordset(sql)
     ListView1.ColumnHeaders.Add , , "Data Scadenza", ListView1.Width / 8
       ListView1.ColumnHeaders.Add , , "N°Fattura", ListView1.Width / 8, 1
       ListView1.ColumnHeaders.Add , , "Cliente", ListView1.Width / 4
       ListView1.ColumnHeaders.Add , , "N°DDT", ListView1.Width / 12, 1
    
        ListView1.ColumnHeaders.Add , , "Totale da Pagare", ListView1.Width / 5.33, 1
        ListView1.BorderStyle = ccFixedSingle
       ListView1.View = lvwReport
    
    Do While rs.EOF = False 'Scorro tutta la query
       ind = ind + 1
     
       Set mItem = ListView1.ListItems.Add(, , CStr(rs("ScadFatt"))) 'setto la variabile x inserimento col e inseriscoil 1° valore
          mItem.ListSubItems.Add , , CStr(rs("NFatt"))       'inserisco la prima subcolonna
       mItem.ListSubItems.Add , , CStr(rs("Cliente"))               'inserisco anche la seconda
          mItem.ListSubItems.Add , , CStr(rs("NDDT"))               'inserisco anche la seconda
       mItem.ListSubItems.Add , , CStr(rs("TotaleFatt")) & " €"
       ListView1.ListItems(ind).Tag = rs("ID") 'inserisco l'id della linea per poterla aprire
      
      If (rs!Pagato) = "1" Then
       mItem.Checked = True
       End If
    
      ' ListView1.ListItems(ind).Tag = rs("ID") 'inserisco l'id della linea per poterla aprire
       rs.MoveNext
    Loop
        rs.Close
        inc = ind
    End Sub
    ---------------------------------------------------------------------
    ---------------------------------------------------------------------
    Private Sub Command1_Click()
    Set db = OpenDatabase(App.Path & "\dado.mdb")
     sql = "select * from ScadenzarioPag Order by ScadFatt"
    Set rs = db.OpenRecordset(sql)
    For inc = 0 To ind
    If ListView1.ListItems.Item(mItem).Checked = True Then
    sql = "Update ScadenzarioPag set Pagato = ('" & 1 & "')where id = che ci metto qui?????"
        db.Execute (sql)
    
    End If
    Next inc
    End Sub
    ---------------------------------------------------------------------
    
    Private Sub Command2_Click()
    
    Printer.Print PaintPicture(LOGO2.jpg, 500, 500)
    Printer.EndDoc
    End Sub
    
    
    ----------------------------------------------------------------------
    Grazie
    Sara

    www.tsnavigliana.it

  6. #6
    se Pagato è un campo intero non servono gli apici
    codice:
    Private Sub Command1_Click()
    Set db = OpenDatabase(App.Path & "\dado.mdb")
    sql = "select * from ScadenzarioPag Order by ScadFatt"
    Set rs = db.OpenRecordset(sql)
    For inc = 1 To ListView1.ListItems.Count
      If ListView1.ListItems.Item(inc).Checked = True Then
         sql = "Update ScadenzarioPag set Pagato = 1 " & _
               "where id = " & CLng(ListView1.ListItems.Item(inc).Tag)
        db.Execute (sql)
      End If
    Next inc
    End Sub
    credo che la parte in rosso non ti serva, visto che l'update lo esegui direttamente sulla connessione

    se nell'if inserisc mItem, le righe non le scorre, devi invece inserire l'indice

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    codice:
      If ListView1.ListItems.Item(inc).Checked = True Then 
    mi da errore 35600
    Limiti esauriti per l'indice!!!

    come mai che devo fare???
    Grazie
    Sara

    www.tsnavigliana.it

  8. #8
    Originariamente inviato da sara81it
    codice:
      If ListView1.ListItems.Item(inc).Checked = True Then 
    mi da errore 35600
    Limiti esauriti per l'indice!!!

    come mai che devo fare???
    avevo modificato il for, scrivendo

    inc = 1

    forse non lo hai visto

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  9. #9
    ora funziona e se invece di fare un update vorrei cancellare i record fleggati??

    Grazie !!
    Grazie
    Sara

    www.tsnavigliana.it

  10. #10
    Originariamente inviato da sara81it
    ora funziona e se invece di fare un update vorrei cancellare i record fleggati??

    Grazie !!
    basta che modifichi l'istruzione Sql:
    codice:
    sql = "Delete ScadenzarioPag " & _
          "where id = " & CLng(ListView1.ListItems.Item(inc).Tag)

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.