Newsgroup: it.comp.appl.access
Titolo: query: selezione periodi temporali

la seguente query dovrebbe evidenziarmi alcuni periodi temporali che 
ricadono in altri
 
SELECT DPop.DPinFROM, DPop.DPinTO, Imbarchi.from, Imbarchi.to
FROM DPop, Anagrafica INNER JOIN Imbarchi ON Anagrafica.ID = 
Imbarchi.Surname
WHERE (((DPop.DPinFROM) Between #8/7/2013# And #11/4/2013#) AND 
((DPop.DPinTO) Between #8/7/2013# And #11/4/2013#) AND 
((Imbarchi.from)=#8/7/2013#) AND ((Imbarchi.to)=#11/4/2013#) AND 
((Anagrafica.ID)=918))
ORDER BY DPop.DPinFROM, Imbarchi.to;
 
la query dovrebbe restituirmi un terzo periodo in DPop che inizia il 
16/08/2013 e termina il 04/11/2013, ma non mi riesce di farlo uscire.
Dove sbaglio?
 
-- 
ciao
Stefano
 
 

After serious thinking stef@no wrote :

Quella che esponi ï¿œ l'epressione SQL che si desume dalla griglia QBE.
ï¿œ dalla griglia QBE che non ti funziona o da VBA?
 
In ogni caso prova con la sola prima condizione, poi con la sola 
seconda, etc.
Tutte debbono dare valori <> 0 (True).
Se ciï¿œ non avviene il complesso WHERE non puï¿œ funzionare.
 
Bruno
 
 


Non � chiaro a quali campi ti riferisci... due cause possibili:
 
1. Per Imbarchi.from usi =  (per #8/7/2013#) non >=.
 
2. Siccome 04/11/2013 � il limite superiore dei criteri:
 
Puo darsi che hai un ora in DPop.DPinTO o Imbarchi.to?
In caso di s�, vedi 
http://www.donkarl.com/it?FAQ3.13
.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 

 In caso di sï¿œ, vedi 
http://www.donkarl.com/it?FAQ3.13
.
 
subito dopo aver postato sono andato a verificare un particolare. 
L'errore era nella tabella, avevo voglia di sbattere con la query. Ho 
cercato di cancellare il messaggio ma siete arrivati prima. Grazie 
infinite ad entrambi.
 
-- 
ciao
Stefano
 
 

Dunque... il codice funziona sul caso base ma andando a complicare i 
casi mi serve ancora una mano, almeno dal punto di vista concettuale.
Posto che [III] e [AAA] siano periodi temporali espressi da record con 
campo-inizio e campo-fine appartenenti a due tabelle diverse, mi 
interessa selezionare i record in cui i periodi si sovrappongono.
Nel caso semplice
 
 [IIIIIIIIII]
[AAA] [A] [AAA]
 
funziona tutto,
ma se inserisco un secondo intervallo [I]
 
 [IIIIIIIIII]        [IIIIIIIIII]
[AAA] [A] [AAA][AA][AAA] [A] [AAA]
 
mi restituisce una quantitï¿œ di dati non pertinenti che non so filtrare.
 
Domanda 1: c'ï¿œ un modo?
 
Sto incominciando a pensare che forse dovrei aiutarmi con una maschera 
che chiama i dati dalle tabelle I ed A (piï¿œ quella dell'anagrafica) e 
li inserisce in una nuova tabella in cui dovrï¿œ trovare il modo di 
calcolare le interazioni con {AAA} dei singoli periodi {III}.
 
Domanda 2: ï¿œ forse questa la strada piï¿œ corretta?
 
-- 
ciao
Stefano
 
 

)
 
Dunque... il codice funziona sul caso base ma andando a complicare i 
casi mi serve ancora una mano, almeno dal punto di vista concettuale.
Posto che [EEE] e [AAA] siano periodi temporali espressi da record con 
campo-inizio e campo-fine appartenenti a due tabelle diverse, mi 
interessa selezionare i record in cui i periodi si sovrappongono.
Nel caso semplice
 
 [EEEEEEEEEE]
[AAA] [A] [AAA]
 
funziona tutto,
ma se inserisco un secondo intervallo [I]
 
 [EEEEEEEEEE]        [EEEEEEEEE]
[AAA] [A] [AAA][AA][AAA] [A] [AAA]
 
mi restituisce una quantitï¿œ di dati non pertinenti che non so filtrare.
 
Domanda 1: c'ï¿œ un modo?
 
Sto incominciando a pensare che forse dovrei aiutarmi con una maschera 
che chiama i dati dalle tabelle E ed A (piï¿œ quella dell'anagrafica) e 
li inserisce in una nuova tabella in cui dovrï¿œ trovare il modo di 
calcolare le interazioni con {AAA} dei singoli periodi {EEE}.
