Oppure

Loading
28/11/07 17:52
moet
il programma mi cancella l' elemento selezionato in listview ma non mi cancella lo stesso utente nel database! in pratica non funziona questa stringa


cn.Execute "Delete from tabella1 where id = " & CStr(ind)


aaa
28/11/07 18:07
LuigiBiasi
Postato originariamente da moet:

il programma mi cancella l' elemento selezionato in listview ma non mi cancella lo stesso utente nel database! in pratica non funziona questa stringa


cn.Execute "Delete from tabella1 where id = " & CStr(ind)



ma viene cancellato un utente vero?? però non corrisponde a quello che hai indicato tu giusto?
Ultima modifica effettuata da LuigiBiasi 28/11/07 18:08
aaa
28/11/07 18:13
moet
cancella sulla listview perfettamente l utente selezionato.

ma non apporta nessuna modifica, quindi non cancella nessun utente sul DB.

nonostante gli abbiamo passato L' ID da cancellare.
aaa
28/11/07 18:13
LuigiBiasi
il problema è che quando viene eliminato un record, nel database abbiamo questa situazione:
ID Nome Cognome
1 mario rossi
2 tizio caio
4 vattelapesca vettelapscadinuovo

in questo esempio è stato cancellato il record che ha ID 3, perche nella listview abbiamo selezionato l'emento corrispondente all'indice 3.
Dopo quando vogliamo eliminare un altro record, selezioni nella listview un elemento che corrisponde al suo indice, e verra quindi cancellato nel database l'elemento che ha come id l'indice della listview e quindi non abbiamo più una corrispondenza.
Perciò io ti ho detto che dopo avere eliminato un record, gli id del database devo essere rinumerati.
Non so se sono stato chiaro, è un po complessa la cosa.
aaa
28/11/07 18:14
LuigiBiasi
ah quindi non riesci proprio a cencallare l'elemento nel database?
Ultima modifica effettuata da LuigiBiasi 28/11/07 18:15
aaa
28/11/07 18:16
moet
Ho capito cosa intendi ma estrapolando l' ID selezionato sulla listview e dando l' istruzione


cn.Execute "Delete from tabella1 where id =  " & CStr(ind)



dovrebbe cancellarlo anche da database invece non lo fa...8-|
aaa
28/11/07 18:17
LuigiBiasi
Postato originariamente da moet:

OK FATTA !!!!!!

RS.OPEN stringa
rs.Open "Tabella1", cn, 3, 3
....cancella.....

dovresti fare
cn.open stringa

perchè non apri la connessione al database, e invece apri il recordset in quella maniera?
aaa
28/11/07 18:17
moet
ESATTO ! NON CANCELLA NEL DATABASE!!!!


Private Sub Command3_Click()
Dim c As ListItem
Dim n As Integer


Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset



stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
stringa = stringa & App.Path & "\componenti.mdb"

Dim ind As Integer
For Each c In ListView.ListItems
If c.Selected Then
ind = c.Index
ListView.ListItems.Remove c.Index
Exit For
End If
Next


cn.Open stringa
rs.Open "Tabella1", cn, 3, 3
cn.Execute "Delete from tabella1 where id =  " & ind 'CStr(ind)
rs.Close

    Set cn = Nothing
    Set rs = Nothing


End Sub

aaa