Ciao e innanzitutto grazie per la risposta..
Tutti i campi oggetto del DB sono stati importati su access da un file excel pertanto sul DB in esame i campi non vengono compilati manualmente.
Il ragionamento che segui:
"risalire a ritroso per il remake fino a che si trova un null nel ref....e da li leggere il contenuto della data"
credo sia corretto.
Cerco di essere più chiara in merito ai campi "ref" e "id".
Il campo "id" rappresenta la matricola che il sistema gestionale che utilizziamo assegna alla produzione.
Il campo "ref" viene alimentato nel momento in cui si tratta di un remake. Ogniqualvolta occorre eseguire un remake su un id, il sistema genera in automatico un nuovo id (del remake) che risulta però associato all'id padre (di cui si effettua il remake); in tal caso il campo "ref" verrà alimentato dal sistema con la matricola a cui si riferisce (l'id di partenza).
Faccio ulteriori esempi per essere più chiara in merito al risultato atteso:
Se il campo p/r = p (prima produzione) --> data(p) = data
Se il campo p/r = r (remake) cerca "ref" in "id" (fino a che ref = null) e restituisci la data dell'id che ha ref = null.
Nel caso di id = 6 (campo p/r= r) cerca "ref" (in questo caso "ref=4") nella colonna "id";
Se lo trovi e il campo p/r = p --> restituisci la data dell'id che hai trovato;
Se lo trovi e il campo p/r = r --> continua il "ciclo" fino a che in corrispondenza dell'id trovato ref = null e p/r = p --> restituisci la data relativa a quest'ultimo id.
Spero di essere stata chiara.
Allego un ulteriore immagine dove ho inserito il risultato atteso.
Grazie mille
Macla
Allegati: