La cosa è fattibile, ed è anche "molto" semplice..., il "molto" è relativo ovviamente alle tue capacità.
In sostanza si usa un Campo aggiuntivo di tipo Numerico che funge da CampoOrder, per spostare i dati basta scambiare il valore del Campo con quello del Record precedente o successivo...
L'esempio che ti propongo fa esattamente questo:(è un Mirror, quindi salva il file che scarichi con estensione ZIP)
Anche questo esempio ti mostra una tecnica simile...