Ciao a tutti,
provo a spiegare il problema. Devo effettuare un controllo su una tabella TBL_LOOP.
La tabella è composta dai seguenti campi:
ID - ORA - DATA - LOOP - OTL - SELEZ
La TBL_LOOP è una tabella costruita automaticamente attraverso lo scarico dei dati da una apparecchiatura che rileva il passaggio di un mezzo in un determinato percorso.
Sul percorso sono dislocati una certa quantità di sensori (il mio campo LOOP) che rilevano il passaggio del mezzo attraverso il codice 1 e 0 del campo OTL.
1 significa "mezzo sul sensore" e 0 significa "mezzo uscito dal sensore".
Ora, siccome i sensori sul percorso sono fissi, cioè non ne è modificabile l'ordine, è ovvio che un percorso che parte da A ed arriva a B è formato da una certa quantità di sensori che saranno sempre in una determinata sequenza se vanno in in senso e nella sequenza opposta se il percorso e fatto da B ad A.
Il campo OTL in pratica è come se mi indicasse il tempo di passaggio sul sensore. Ovvero quando il "mezzo" arriva sul sensore ho un primo OTL=1 ma se il "mezzo" sosta sul sensore prima di ripartire avrò una serie di OTL=1 e poi un OTL=0.
Può verificarsi anche che ci siano più OTL=0 per lo stesso sensore.
Ho creato anche una tabella TBL_CONTROLLI dove ho inserito per ogni record la sequenza da verificare. I campi sono:
ID - LOOP1 - OTL1 - LOOP2 - OTL2
esempio di TBL_LOOP:
ID ORA DATA LOOP OTL SELEZ
1 16:24:09 01/01/2015 01.020.4 1
2 16:24:11 01/01/2015 01.020.4 0
3 16:24:39 01/01/2015 01.205.7 1
4 16:24:42 01/01/2015 01.205.7 0
5 16:25:44 01/01/2015 01.205.7 1
6 16:27:01 01/01/2015 01.205.7 1
7 16:27:56 01/01/2015 01.205.7 1
8 16:30:15 01/01/2015 01.205.7 1
9 16:30:25 01/01/2015 01.205.7 0
10 16:30:44 01/01/2015 01.020.4 1
esempio di TBL_CONTROLLI:
ID LOOP1 OTL1 LOOP2 OTL2
1 01.201.7 0 01.001.1 1
2 01.001.1 0 01.001.3 1
3 01.001.3 0 01.003.1 1
4 01.003.1 0 01.003.3 1
5 01.003.3 0 01.004.3 1
esempio della tabella TBL_LOOP dopo il controllo con l'aggiunta di "OK" a controllo verificato:
86 16:51:23 01/01/2015 01.002.2 1
87 16:51:25 01/01/2015 01.002.2 0
88 16:51:53 01/01/2015 01.201.7 1
89 16:51:55 01/01/2015 01.201.7 0
90 16:52:01 01/01/2015 01.201.5 1
91 16:52:03 01/01/2015 01.201.5 0
92 16:53:13 01/01/2015 01.201.7 1
93 16:53:18 01/01/2015 01.201.7 1
94 16:53:18 01/01/2015 01.201.7 1
95 16:53:34 01/01/2015 01.201.7 0 OK
96 16:53:54 01/01/2015 01.001.1 1
97 16:53:55 01/01/2015 01.001.1 0 OK
98 16:54:07 01/01/2015 01.001.3 1
99 16:54:09 01/01/2015 01.001.3 0 OK
100 16:54:57 01/01/2015 01.003.1 1
101 16:54:58 01/01/2015 01.003.1 0 OK
102 16:55:42 01/01/2015 01.003.3 1
103 16:55:44 01/01/2015 01.003.3 0 OK
104 16:55:55 01/01/2015 01.004.3 1
105 16:55:56 01/01/2015 01.004.3 0 OK
106 16:56:13 01/01/2015 01.102.1 1
Spero vivamente di essere stato chiaro e mi scuso se non lo sono stato.
Grazie
Leonardo
link al thread di partenza dove avevo utilizzato la funzione IIf che però è limitata nel numero delle nidificazioni:
http://www.iprogrammatori.it/forum-programmazione/access/access-2013-query-selezione-con-funzione-iif-nidificata-t24181.html