Newsgroup: it.comp.appl.access
Titolo: mantenere l'ordine delle righe

salve a tutti
in una form a maschere continue come fate voi a mantenere l'ordinamento 
delle righe, permettendo di aggiungerne altre tra due esistenti o 
cancellarne?
es.
riga a
riga b
riga c
cancellare la riga b
e aggiungere una riga z tra a e c?
e a video vedere
riga a
riga z
riga c
La soluzione che uso io è che ad ogni riga inserita assegno un progressivo 
che mi salta di 10 in 10, questo mi permette di inserire tra due righe fino 
ad altre 9 righe, ovviamento modificando a mano questo "contatore".
E ponendo l'ordinamento del recordset su questo campo.
ma non mi sembra il max.
voi come fate?
alex 

[omissis]
Ho tagliato tutto il tuo post perché non avrebbe avuto senso riportarlo in 
quoting.
Tu stai cercando di reinventare l'acqua calda, senza saperlo.
Quello che ti stai ponendo è un problema inesistente.
In realtà nessuno va ad inserire un record B tra un record A ed un record 
C. Il fatto che tu veda i record ordinati secondo un certo criterio dipende 
appunto dal criterio selezionato.
Quando visualizzi una form in modalità "maschere continue", magari ordinata 
per un campo di quelli visualizzati, quindi vai ad aggiungere un nuovo record, 
Access ti visualizza quel record come in coda a tutti quelli precedentemente 
presenti e visualizzati nella maschera, ma si tratta solamente di un problema 
di visualizzazione.
Nella realtà non è dato sapere per certo quale sia l'ordine di memorizzazione 
dei record in una tabella: sono tutti meccanismi interni di Access.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution

 C.
...bhe se lo chiedo vuol dire che in realtà a qualcuno serve.
supponi di avere 50 righe di fattura e ti sei scordato di inserirne una tra 
la 25 e la 26...ed è fondamentale che sia in quella posizione perchè è una 
nota tecnica o la garanzia della macchina descritta nella riga 26....l'unico 
soluzione che ho trovato e numerare le righe di 10 in 10. (quindi 
10-20-30-----500) con un apposito contatore...in questo caso mi è sufficente 
caricare la riga per ultima e cambiare il numero progressivo generato di 
questo mio contatore da 510 ad un valore tra 251 e 259 per farla posizionare 
tra le due righe scelte.
Ovviamente la form ha come ordinamente il campo del mio contatore.
Mi chiedevo solo se c'era qualcosa di meno macchinoso e più automatico
Alex

> Mi chiedevo solo se c'era qualcosa di meno macchinoso e più automatico
Credo proprio di no. Devi per forza passare da un campo che scegli poi come 
criterio di ordinamento nell'origine dati dell'oggetto di Access.


 ha scritto nel messaggio 
news:468017d5$0$17943$4faf...@reader1.news.tin.it...

potresti usare un campo testo e immettere valori numerici.
1
2
3
4
5
6
poi vuoi imettere qualcosa tra 2 e 3?
25
Nuovo ordine
1
2
25
3
4
5
6
vuoi aggiungere tra 2 e 25 ?
230
Nuovo ordine
1
2
230
25
3
4
5
6
 ...
somiglia molto alla soluzione che hai adottato tu, non riesco a definire se 
vince in pregi o difetti.
Inoltre puoi usare anche lettere ...
1
1a
1b
1cribbio
2
230
230c
25
3
4
5
6
 -----
  ;D
IvanDaBologna

 ha scritto nel messaggio news:467fe0d7$0$36438$4faf...@reader5.news.tin.it...

Ovviamente l'inserimento di record tra altri non esiste, il record viene accodato sempre (quindi in fondo), poi tramite gli indici o 
l'ordinamento puoi modificare la visualizzazione; quindi se dovessi risolvere un problema del genere farei (più o meno) come stai 
facendo tu:
- cancelli il record (mi salvo in una variabile il numero di "posizione")
- inserisci il record (ci scrivo il numero di "posizione" salvato nella variabile)
- ordini i record
Così non ho bisogno di numerare di 10 in 10...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
il problema č che non sempre c'č la cancellazione...a volte devo proprio 
inserire un record tra due esistenti e quindi ho bisogno di numerare di 10 
in 10.
il problema nasce se devo inserire piů di 10 righe tra due righe. (cosa non 
rara su computi metrici o preventivi di 30-40 pagine)
ciao, Alex

 ciao, Alex
Puoi sempre inventarti un "meccanismo" che ti permette di selezionare il 
record dove inserire (o sopra o sotto) il nuovo record; dopo averlo accodato 
(il nuovo) ricalcoli tutti i numeri per tutti i record che hanno l'idFattura 
uguale.
Oppure dei banalissimi bottoni che spostano il record dall'ultimo posto a -1 
o dove viene indicato a mano...
Ciao.
-- 
Sergio MAZZA