Oppure

Loading
29/11/07 19:27
moet
ora provo a rifare il db... cosi parte da zero...
aaa
29/11/07 19:40
moet
Hai ragioen luigi il problema sta nell' ID.

Infatti se rifaccio il database da zero inserisco e cancello da lisview funziona. nel momento in cui dopo una cancellazione reinserisco e provo a cancellarne uno qualsiasi da listview non funziona piu.


PEr utilizzare il tuo codice dove imposti c integer e lo incrementi. Devo aggiungere altri campi nel db ?
aaa
30/11/07 6:44
LuigiBiasi
il problema è sempre lo stesso, quando elimini un record, gli id sono disordinati, allora o usiamo un metodo che non mi piace molto, cioè:
non passare l'indice della riga di listview selezionata, ma l'id corrispondente all'indice della riga della listview selezionata.
In questo l'id del database non sarà ordinato, avremo x esempio
ID
1
2
4
6

questo è il database dove che saranno stati eliminati i record 3 e 5. Come vedi gli id sono disordinati, invece sarebbe meglio dopo la cancellazione riordinarli.
ID
1
2
3
4
Non so se mi sono spiegato.
Ciao.
aaa
30/11/07 12:57
moet
Ti sei spiegato molto bene !

Vorrei rimanesse tutto ordinato!

Come faccio ?!?! :rotfl:

aaa
01/12/07 12:55
LuigiBiasi
credo che il codice dovrebbe essere cosi:
Dim nome As String
Dim cognome As String
Dim rc As Integer
rc = rs.RecordCount
y = ind
rs.MoveFirst
rs.Move ind, 1
While y < rc
If rs("ID") > ind Then
nome = rs("Nome")
cognome = rs("Cognome")
cn.Execute "Delete from Tabella1 where id = " & CStr(y + 1)
rs.AddNew
rs("Nome") = nome
rs("Cognome") = cognome
rs("ID") = y
rs.Update
End If
y = y + 1
rs.MoveFirst
rs.Move y, 1
Wend
y = y - 1
End Function

y è una variabile dichiarata in generale.
Ciao.
aaa