Newsgroup: it.comp.appl.access
Titolo: elenco dipendenti per periodo

Salve a tutti.
Ho bisogno di sapere ad una certa l'elenco dei dipendenti in carico.
Ho una tabella con ID, CognomeNome, DataAssunzione, DataCessazione.
In una query ho inserito il criterio <=[al (xx/xx/xx)] nel campo
DataAssunzione e riesco ad ottenere l'elenco dei dipendenti assunti
entro la data che la query mi chiede di inserire, ma come faccio a far
escludere dall'elenco quelli non più in servizio a tale data?
Non conoscevo per niente Access e pur con mille difficoltà ma grazie
soprattutto a Voi, bene o male riesco ad ottenere quello che mi serve
per gestire la mia attività. Grazie a tutti.
Spero mi possiate aiutare anche questa volta. Ciao.

 ha scritto nel messaggio 
news:4177ead5-459f-4b58...@k39g2000hsf.googlegroups.com...
Salve a tutti.
Ho bisogno di sapere ad una certa l'elenco dei dipendenti in carico.
Ho una tabella con ID, CognomeNome, DataAssunzione, DataCessazione.
In una query ho inserito il criterio <=[al (xx/xx/xx)] nel campo
DataAssunzione e riesco ad ottenere l'elenco dei dipendenti assunti
entro la data che la query mi chiede di inserire, ma come faccio a far
escludere dall'elenco quelli non più in servizio a tale data?
.............
Uhm, non capisco. Aggiungi lo stesso criterio al campo DataCessazione.
....where DataAssunzione <=[data] and DataCessazione <=[data].... 

 ha scritto nel messaggionews:4177ead5-459f-4b58...@k39g2000hsf.googlegroups.com...

Non funziona perchè così mi elenca anche quelli che come data di
cessazione rientrano in quel parametro.

> Uhm, non capisco. Aggiungi lo stesso criterio al campo
Se tu vuoi visualizzare solo quelli alla data inserita sono ancora in 
servizio allora:
........And DataCessazione >=[data]
-- 
Ciao
Geppo 

=[data] deve servire a non far apparire coloro i quali prima di
questa data non sono più dipendenti, invece così mi estrae tutti i
dipendenti andati via prima di quella data. Praticamente, deve essere
una sub query della prima. Grazie cmq.


Allora, hai una tabella fatta cosi:
tabella1
campoID      DATAASSUNZIONE             DATACESSAZIONE
1                       12/12/1993                              20/12/2007
2                       01/03/1995                              20/01/2008
3                        01/03/1995                             01/01/2003
se su questa tabella creo la query in quel modo ed inserisco come data 
01/02/2003 ottengo:
campoID      DATAASSUNZIONE             DATACESSAZIONE
1                       12/12/1993                              20/12/2007
2                       01/03/1995                              20/01/2008
Per cui il soggetto che alla data inserita non risultava piu' lavorare non 
viene visualizzato:
3                        01/03/1995                             01/01/2003
Non è questo che volevi ottenere?
SELECT TABELLA1.DATAASSUNZIONE, TABELLA1.DATACESSAZIONE
FROM TABELLA1
WHERE DataAssunzione <=[data] and DataCessazione >[data];
-- 
Ciao
Geppo 


Tu hai simulato che hai tre dipendenti e che tutti ora non sono più
dipendenti. Se inserisci qualche altro e che il campo DataCessazione è
vuoto perchè ancora dipendente, con il criterio su non vengono
visualizzati. Se aggiungo
WHERE (((tblDipendenti.DataAssunzione)<=[data]) AND
((tblDipendenti.DataCessazione)>[data])) OR
(((tblDipendenti.DataCessazione) Is Null))
mi resitituisce in più rispetto a quello che chiedo i Dipendenti
assunti anche dopo la data digitata.
Ci siamo quasi però. Ciao.

 Ci siamo quasi perň. Ciao.
WHERE (((tblDipendenti.DataAssunzione)<=[data]) AND
((tblDipendenti.DataCessazione)>[data])) OR
(((tblDipendenti.DataCessazione) Is Null)) and 
(((tbldipendenti.dataassunzione)<=[data]));
-- 
Ciao
Geppo