ragazzi ho questo problema:
devo ordinare alcuni record in una tabella access bindata a una datagrid modificando l'indice di ordinamento tramite 2 pulsanti "UP" e "DOWN"
mi spiego meglio:
SELECT * FROM Tab1 ORDER BY indiceORD
ID|Descrizione|indiceORD|
--|----------|---------|
1 |record1 | 3 |
2 |record2 | 6 |
3 |record3 | 9 |
devo poter spostare su e giu qualsiasi di questi record naturalmente selezionandoli nella datagrid agganciando l'id e l'indice dell'ordine.
teoricamente se seleziono il primo record con id 1 e premo il pulsante "DOWN" dovrei avere la seguente situazione aggiornando l'ordine:
UPDATE Ordine SET indiceORD = 7 WHERE ID= 1
ID|Descrizione|indiceORD|
--|----------|---------|
2 |record2 | 6 |
1 |record1 | 7 |
3 |record3 | 9 |
il problema principale si verifica quando seleziono il record con id 2 e premo "down" :
ID|Descrizione|indiceORD|
--|----------|---------|
1 |record1 | 7 |
2 |record2 | 8 |
3 |record3 | 9 |
gli indici sono attaccati in maniera tale da non permettere alcun spostamento sia in alto che in basso....
spero di essermi spiegato al meglio.....
sapete consigliarmi un algoritmo o un metodo migliore per risolvere il problema??
grazie anticipate