Newsgroup: it.comp.appl.access
Titolo: Query su date consecutive

Salve a tutti,
ho una tabella con i campi ID, cognome, nome, dal, al
il campo Id è un cotatore con chiave primaria;
i campi Cognome e Nome sono dei testo e i campi Dal e Al sono delle date.
Questa tabella è stata riempita circa 4000 record, tra record ora
posso avere id naturalmente diversi, cognome e nome uguali, Dal e Al diversi
ora i devo tirar fuori con una query, tutti quei record che hanno id
diverso, ma nome e cognome uguale con il secondo Dal non compreso tra
l'intervallo di tempo del primo Dal - Al.
Esempio:
   1     Pippo     Pluto       01/02/02     20/02/02
   2     Minni     Topolino  03/02/02     03/03/02
   3     pippo     Pluto       18/02/02     26/02/02
   4     pippo     pluto        27/02/02     03/03/02
La query dovrebbe tirami fuori i record 1 e 3....
Spero di essere stato chiaro
Ciao
  Old-Jack.

 ha scritto nel messaggio
news:Sz1L8.925$K4.1...@twister2.libero.it...

Se la tabella si chiama Tabella1 ed ha una struttura simile a questa:
ID                    Contatore e chiave primaria
Cognome          Testo
Nome               Testo
Dal                   Data/ora
Al                    Data/ora
Prova con una query che ha il seguente codice SQL:
SELECT Tabella1.ID, Tabella1.Cognome, Tabella1.Nome, Tabella1.Dal,
Tabella1.Al
FROM Tabella1
WHERE (((Tabella1.Cognome)=DLookUp("Cognome","Tabella1","ID=" &
Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") & "#")))) AND
((Tabella1.Nome)=DLookUp("Nome","Tabella1","ID=" &
Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") & "#")))) AND
((IIf([ID]=Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") & "#")),1,0))=1)
AND (Not (DLookUp("ID","Tabella1","ID>" & [ID] & " And Cognome=" & Chr$(34)
& [Cognome] & Chr$(34) & " And Nome=" & Chr$(34) & [Nome] & Chr$(34))) Is
Null)) OR (((Tabella1.Cognome)=DLookUp("Cognome","Tabella1","ID=" &
Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") & "#")))) AND
((Tabella1.Nome)=DLookUp("Nome","Tabella1","ID=" &
Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") & "#")))) AND
((IIf([Dal]>=Format(CDate(DLookUp("Dal","Tabella1","ID=" &
Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") &
"#")))),"mm/dd/yyyy"),IIf([Dal]<=Format(CDate(DLookUp("Al","Tabella1","ID="
& Val(DLookUp("ID","Tabella1","Dal=#" &
Format(DMin("Dal","Tabella1","Cognome=" & Chr$(34) & [Cognome] & Chr$(34) &
" And Nome=" & Chr$(34) & [Nome] & Chr$(34)),"mm/dd/yyyy") &
"#")))),"mm/dd/yyyy"),1,0),0))=1));
Io ho provato ed a me funziona.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 wrote in message
news:pZlL8.5671$K4.1...@twister2.libero.it...

Grazie Roberto...
gentile come sempre.....