ciao a tutti.
ho un problema di cancellazione record attraverso il check di una listview.
ecco il mio codice:
Carico la listView
sul click di un pulsante eseguo:codice:Private Sub Form_Load() Set db = OpenDatabase(App.Path & "\db.mdb") sql = "select * from Clienti order by Ragso" Set rs = db.OpenRecordset(sql) ListView1.ColumnHeaders.Add , , "Id", ListView1.Width / 18 ListView1.ColumnHeaders.Add , , "Nome", ListView1.Width / 4.5 ListView1.ColumnHeaders.Add , , "Indirizzo", ListView1.Width / 3.1 ListView1.ColumnHeaders.Add , , "Telefono", ListView1.Width / 8.3 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("Id"))) mItem.ListSubItems.Add , , CStr(rs("Ragso")) mItem.ListSubItems.Add , , CStr(rs("Indirizzo"))mItem.ListSubItems.Add , , CStr(rs"Telefono")) ListView1.ListItems(ind).Tag = rs("ID") rs.MoveNext Loop rs.Close inc = ind End Sub
le variabili che dichiaro in option explicit sono:codice:Private Sub cmdcanc_Click() Set db = OpenDatabase(App.Path & "\db.mdb") For inc = 1 To ind If ListView1.ListItems.Item(inc).Checked = True Then sql = "Delete * from Clienti where Id =" & CLng(ListView1.ListItems.Item(inc).Tag) db.Execute (sql) End If Next inc ind = 0 inc = 0 End Sub
codice:Dim sql As String Dim rs As Recordset Dim db As Database Dim i As Integer Dim inc As Integer Dim ind As Integer Dim entry As String Dim mItem As ListItem
mi da un errore di run-time sul click del tasto canc, il 13: tipo non corrispondente sulla riga dell'espressione sql.
grazie Sara
dov'è l'errore??

Rispondi quotando
