Newsgroup: it.comp.appl.access
Titolo: scadenziario etc etc...

Ciao!
Nel mio applicativo db, sto cercando di inserire anche uno scadenziario...
Ho delle aziende che trasportano merci pericolose, ad ognuna di queste è associato un certo numero di autisti di camion
ai quali bisogna ricordare (4 mesi prima) che la loro patente sta per scadere o altri tipi di scadenze che non sto qui ad
elencare...
Tra le varie sottomaschere che sono inserite in quella principale, ce n'è una nella quale ho impostato un campo data/ora
per ogni scadenza possibile (diciamo 4)... poi ho inserito un campo data/ora che contiene la data odierana ( =date() )
e a fronte dell'evento SuCorrente della sottomaschera faccio fare una differenza fra la data di scadenza e quella odierna e vedo
se il risultato è minore di 120 (4 mesi), in caso affermativo inizia a lampeggiare un'etichetta che avverte dell'imminente scadenza..
C'è un metodo di confronto fra le due date più preciso e che tiene conto del fatto che non sempre 4 mesi equivalgono a 120 giorni???
In più:  una volta impostate tutte queste date di scadenza, mi piacerebbe avere uno switchboard (pannello di controllo) che all'apertura
del DB mi visualizzi solo gli autisti a cui sta per scadere la patente o qualcos'altro.
Com'è possibile realizzare quest'ultima cosa?
Sinceramente non mi viene in mente nulla... in qualche modo dovrei andare a fare un controllo nella tabella delle scadenze e realizzare
tutti i confronti fra date di cui sopra che mi permettono di estrarre solo i record (gli autisti) con una scadenza imminente!
Una query, credo che sia la soluziona ideale... ma come?
Tenete presente che le tabelle sono organizzate in questo modo:
tblAziende  -1 a molti-  tblScadenze
scusate la prolissità ma certe cose vanno spiegate per benino...
grazie!
cya!
	luca

 tblAziende  -1 a molti-  tblScadenze
[...]
    Gli autisti in quale tabella si trovano? Oppure a te interessa solo
sapere quali aziende hanno degli scaduti? Probabilmente e' cosi' quindi,
ipotizzando che nella tabella scadenze esista un campo di tipo data/ora in
cui e' registrata la data di scadenza, di nome per esempio "doScadenza",
allora la query seguente potrebbe fare piu' o meno al caso tuo:
        Query: x Woodrov
            SELECT
                TAzie.NomeSocietà
              , TScad.DataScadenza
              , IIf
                (
                  [TScad].[DataScadenza]
                  Between
                  DateSerial(Year(Date()),Month(Date())-5,Day(Date()))
                  And
                  DateSerial(Year(Date()),Month(Date())-4,Day(Date()))
                , "In scadenza"
                , IIf
                  (
                    [TScad].[DataScadenza]
                    >
                    DateSerial(Year(Date()),Month(Date())-4,Day(Date()))
                  , "Scaduto"
                  , ""
                  )
                ) AS Avviso
            FROM
                tblScadenze AS TScad
                INNER JOIN tblAziende AS TAzie
                ON TScad.IDAzienda = TAzie.IDAzienda
            WHERE
                IIf
                (
                  [TScad].[DataScadenza]
                  Between
                  DateSerial(Year(Date()),Month(Date())-5,Day(Date()))
                  And
                  DateSerial(Year(Date()),Month(Date())-4,Day(Date()))
                , True
                , IIf
                  (
                    [TScad].[DataScadenza]
                    >
                    DateSerial(Year(Date()),Month(Date())-4,Day(Date()))
                  , True
                  , False
                  )
                )<>False
            ORDER BY
                TAzie.NomeSocietà
              , TScad.DataScadenza
            ;
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------



Grazie mille!!
Sei stato gentilissimo, poi la adatto e la provo... ma credo proprio che vada bene!
In ogni caso, se la query mi restituisce le date che scadono, come mi conviene visualizzarle nello switchboard?
Hai interpretato bene!  ;-)
	Luca

 Hai interpretato bene!  ;-)


"(Tutti)" in cima alla lista)...
Credo che opterò per una elegantissima casella di riepilogo, alla cui proprietà
RowSource associerò la query che mi seleziona gli elementi scaduti...
Per le stampe non ci sono problemi...
Grazie ancora per la tempestività!  ;-)
e buon sabato sera!
	luca