Newsgroup: it.comp.appl.access
Titolo: Ordinamento sequenza logica

Ciao a tutto il NG.
Ho il seguente problema:
Data una query in cui ricavo i record come mostrato nella tabella a
destra, vorrei ottenere l’ordinamento come in quella a sinistra.
La sequenza dovrà essere tale che il record successivo avrà sempre il
campo INIZIO coincidente col campo FINE del record precedente. Se può
essere di aiuto io so sempre quale deve essere il primo record. In
questo caso il record contenente A-B
    ID	|   INIZIO	|   FINE	                        ID	|    INIZIO
|    FINE
    8	|       A      |      B	   	        8	|        A      |      B
    1	|       H      |      N                               5	|
B      |      F
    4	|       F	|      H                               4	|
F      |      H
    3	|       N	|      S                               1	|
H      |      N
    5	|       B	|      F                               3	|
N      |      S
Se sarà necessaria una funzione in VBA sarebbe gradita la spiegazione
di come utilizzarla.
Spero di essere stato chiaro e ringrazio chiunque volesse aiutarmi.
Ciao

Scusate la ri scrivo......
Ciao a tutto il NG.
Ho il seguente problema:
Data una query in cui ricavo i record come mostrato nella prima
tabella, vorrei ottenere l’ordinamento come in quella di sotto.
La sequenza dovrà essere tale che il record successivo avrà sempre il
campo INIZIO coincidente col campo FINE del record precedente. Se può
essere di aiuto io so sempre quale deve essere il primo record. In
questo caso il record contenente A-B
ID  |   INIZIO   |   FINE
8   |       A      |      B
1   |       H      |      N
4   |       F      |      H
3   |       N      |      S
5   |       B      |      F
ID  |   INIZIO   |   FINE
8   |       A      |      B
5   |       B      |      F
4   |       F      |      H
1   |       H      |      N


 ha scritto nel messaggio 
news:2c3189fe-f5ec-4adc...@z72g2000hsb.googlegroups.com...
Scusate la ri scrivo......

Ho il seguente problema:




--------------  RISPOSTA  ---------------
Evidentemente la query che ti restituisce la prima sequenza non ha come 
indice nessuno dei 3 campi che hai mostrato. Se sul campo INIZIO imposti un 
indice crescente dovresti ottenere quello che desideri tu.
Ciao
Antonio

 ha scritto nel messaggio 
news:2c3189fe-f5ec-4adc...@z72g2000hsb.googlegroups.com...
Scusate la ri scrivo......

Ho il seguente problema:




Dall'esempio che hai proposto ti basterebbe ordinare per INIZIO ...
Può essere...che succeda questo?
ID  |   INIZIO   |   FINE
8   |       A      |      F
5   |       F      |      B
4   |       B      |      N
1   |       N      |      S
3   |       S      |      S
Perchè in questo caso è un pò più complicato il discorso...dovresti andare a 
leggere il valore del record precedente...
Con un pò di righe di codice forse si potrebbe ottenere quello che 
chiedi....ma....per tirar fuori solo un ordinamento...sarebbe uno spreco 
notevole di risorse...
Ciao
-- 
Roberto da Parma 

 ha scritto nel messaggionews:2c3189fe-f5ec-4adc...@z72g2000hsb.googlegroups.com...

Mi rendo conto che nell'esempio riportato basterebbe ordinare in modo
crescente la colonna inizio ed il gioco è fatto. Ma questo non succede
se non in modo del tutto casuale. E poi ripeto io conosco il record
che deve essere il primo della sequenza che potrebbe essere un numero
o una lettera maggiore di quelle che seguono. Il giochetto non si
limita a creare un ordinamento "sprecando risorse" ma deve servire per
ricostruire l'esatta sequenza che potrebbe essere un tragitto
stradale, un rilievo topografico  o chissà cos'altro.
Qualche idea?

 ha scritto nel messaggio 
news:1f4b497a-8ff6-4622...@f36g2000hsa.googlegroups.com...


In VBA io farei una tabella temporanea dove andrei ad accodare i dati 
attraverso un ciclo con un DLookUp sul valore precedente, se naturalmente il 
privo valore lo conosci lo accodi per primo e poi fai il controllo
Es. DLookUp("INIZIO","TEMP","FINE=INIZIO")
