Newsgroup: it.comp.appl.access
Titolo: differenza tra date

Salve regazzi ho bisogno del vostro aiuto!!!!
ho questo problema !!!!
ho una maschera fatture con vari campi!!!!!
mi sarvirebbe sapere come poter ottenere i giorni come differenza tra la
data di arrivo della merce e la data della partenza !!!!
ad esempio
arrivo 17/12/2005
partenza 19/12/2005
giorni 2
cioe quanti giorni sono passati
Con questo conteggio devo fare in modo che, se sono passati + di 10 giorni,
mi venga fuori in un campo n° 10
se è minore di 10 giorni mi venga fuori nela campo giorni 0
è possibile fare una cosa del genere!!!
se si ! mi dareste una soluzione !!!!!
Grazie in anticipo!!!!


Ma certo ci sono soluzioni!!!!!
Puoi semplicemente fare una sottrazione con le date per
avere i giorni di differenza!!!!! Tipo:
[NomeDelCampoConLaPartenza] - [NomeDelCampoConLArrivo]
Un metodo diverso e la funzione DateDiff (vedi <F1>)!!!!!
Se con "campo" solo intendi un controllo su una maschera o
un report che mostra il numero puoi usare un espressione nella
proprietà "origine controllo" di una casella di testo!!!!!
=Switch([Partenza]-[Arrivo]>10;10;[Partenza]-[Arrivo]<10;0)
Se invece devi anche salvare il valore puoi usare codice in
un evento appropriato!!!!!
Me!Differenza=Switch(Me!Partenza-Me!Arrivo>10,10,Me!Partenza-Me!Arrivo<10,0)
Stai attento che non hai scritto cosa deve succedere con una
differenza di 10 giorni ma solo con più o meno giorni!!!!!
-- 
HTH!!!!!
Karl!!!!!
*********
Access FAQ: 
www.donkarl.com/it
 + CISA1, Arezzo, 4+5/6/2005
la prima Conferenza Italiana per Sviluppatori di Access!!!!! 

 wrote in message
news:3iO3e.1161331$
35.42...@news4.tin.it

Credo tu debba crearti una Funzione che passando le Date di
Arrivo e Partenza esegua il Calcolo in Giorni, e ne condizioni
il risultato come hai chiesto:
La funzione da leggere nell'Help per la differenza dei Giorni
è DATEDIFF("d",DataArrivo,DataPartenza)
Ora è da capire però come operi per fare eseguire la funzione.
Puoi farla eseguire su richiesta con un pulsante oppure farla
eseguire su DopoAggiornamento del controllo in cui scrivi
la Data di Arrivo.
Non ho poi capito se devi salvare il risultato in un Campo della
Tabella, io non lo farei essendo un calcolo, può essere
rieseguito in qualsiasi momento anche in una Query richiamando
la Funzione se la strutturi correttamente.
Ad esempio metti questa funzione inun Modulo Public
Public Function retDelay(DataPart as Date, DataArr as Date) as Integer
   Dim nD  as integer  
   retDelay=0
   nd=DATEDIFF("d",DataArrivo,DataPartenza)
   If nD>=10 then retDelay=10
End Function
Per chiamarla basterà:
NumeroGiorni=retDelay(Me!txtDataArrivo,Me!txtDataPartenza)
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

intanto vi ringrazio per le risposte, siete favolosi!!!!,,
per quanto riguarda il calcolo dei giorni, devo obbigatoriammente salvarlo
in un campo della tabellae fatta visualizzare nella maschera, perche questo
dato dei giorni è importante per il calcolo delle fatture. cioè se la
differenza è maggiore di 10 allora questo su questo dato deve essere
visualizzato per poter poi calcare impoorti etc.
se è minore di 10 non mi interessa perche la condizione per fatturare
un'arrivo e che la merce sia arrivata da + di 10 giorni.