Newsgroup: it.comp.appl.access
Titolo: REPOST - ERA: Lista articoli sostituiti

Ciao a tutto il NG
Ho bisogno di creare (access 2k), a partire da una tabella di articoli 
sostituiti una query (o una procedura) che mi restituisca la sequenza delle 
varie sostituzioni di un articolo.
La tabella è del seguente tipo (la frutta non c'entra niente col DB, la 
utilizzo solo come espediente esplicativo):
frutta_sostituzioni:
[campo1]     [campo2]
mela            pera
.......           ........
.......           ........
pera            pesca
.......           ........
.......           ........
pesca          fragola
.......           ........
.......           ........
fragola        arancia
.......           ........
.......           ........
arancia        mango
(*) tra le varie coppie di valori correlati (rappresentati dai " ........") 
vi sono N(variabile) record. Nel senso che non posso applicare alcun filtro 
perchè non so, in mezzo ai record che fanno parte della sequenza, quanti 
altri record ci siano.
In pratica nel campo1 c'è un articolo che viene sostituito da quello del 
campo2; cio' che cerco di ottenere e' la sequenza intera di tutte le 
sostituzioni a partiore da uno qualunque degli articoli della sequenza 
stessa.
Nell'esempio di cui sopra, mela è sostituito da pera; pera è sostituito da 
pesca; pesca è sostituito da fragola; fragola è sostituito da arancia; 
arancia è sostituito da mango.
Vorrei che, *indistintamente chiedendo* mela, pera, pesca, fragola, arancia 
oppure mango, possa ottenere una query (o una rappresentazione anche in 
tabella ottenuta via codice) del tipo:
Query_frutta_sostituzioni:
mela            pera
pera            pesca
pesca          fragola
fragola         arancia
arancia        mango
Spero di essere stato sufficientemente chiaro....colgo a tal proposito 
l'occasione per salutare e ringraziare Sergio Mazza che ha provato a 
seguirmi nel thread news:47d4ed82$0$36451$4faf...@reader5.news.tin.it... 
senza probabilmente essere coadiuvato da una esposizione del quesito fluida 
e limpida.
Attendo speranzoso... 

 Attendo speranzoso...
Il codice non sono in grado di scriverlo (o meglio sono in grado ma mi
ci vorrebbe un eternità tanto sono analfabeta), però posso abbozzare
qualcosa
MyFruttaIniziale= InPutBox...
MyFrutta=MyFruttaIniziale
' Cerca in avanti
MyN=100
MyMatrice (0, MyN)=MyN)
MyMatrice (1, MyN)= MyFrutta
MyLine1:
MyN=MyN+1
MyFrutta= Dlookup nz(("[Frutta2]","TabFrutta", "[Frutta1=" &
chr(apice) &  MyFrutta & chr(apice)))
If not (MyFrutta="") then
MyMatrice (0, MyN)=MyN)
MyMatrice (1, MyN)= MyFrutta
goto MyLine1
End if
' Cerca indietro
MyN=100
MyFrutta=MyFruttaIniziale
MyLine2:
MyN=MyN-1
MyFrutta= nz(Dlookup ("[Frutta1]","TabFrutta", "[Frutta2=" &
chr(apice) &  MyFrutta & chr(apice))
If not (MyFrutta="") then
MyMatrice (0, MyN)=MyN)
MyMatrice (1, MyN)= MyFrutta
goto MyLine2
End if
Sicuramente  da perfezionare
MyMatrice partendo da fragola dovrebbe darti qualcosa del tipo
    100       101       102        99      98     97
Fragola, Arancia, Mango, pesca, pera, mela
Per cui ordinando il vettore per la prima riga ottieni la sequenza
cercata
Tutto codice a braccio (braccio di un semianalfabeta di codice, ma una
base di partenza ce la dovresti avere)
Sperando di non averne sparate grossissime e comunque
"se ho sbagliato mi corrigerete"!!
F.