ciao a tutti.
ho un problema di cancellazione record attraverso il check di una listview.
ecco il mio codice:
Carico la listView
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
sul click di un pulsante eseguo:
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
le variabili che dichiaro in option explicit sono:
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??