Newsgroup: it.comp.appl.access
Titolo: Help: calcolo complesso giorni da [Data]

In un DB ho la data d'inizio e la data di fine contratto.
Ad esempio:
Nome/Cognome - [Data Inizio]  - [Data fine]
Mario Rossi       - 23/03/2001 - 31/12/2004
Carlo Bianchi     - 11/10/2001 - 31/11/2002
Aldo Verdi         - 06/05/2002 - 05/05/2003
Vorrei costruirmi una maschera che indichi in automatico i seguenti valori:
 ____________
|                     |
| Scelta  Anno |             Anno XXXX
|____________|
__________________________________________________
1> Unità/Anno al 31/12/(XX-1)             |  Dato da inserire     |
----------------------------------------------------------------------------
-----------
2> Corrispondenti a giorni (nel XXXX)   |  Dato calcolato       |
----------------------------------------------------------------------------
-----------
3> 80% Giorni (nel XXXX)                   |  Dato calcolato       |
----------------------------------------------------------------------------
-----------
4> Giorni coperti (nel XXXX) ad oggi    |  Dato calcolato *     |
----------------------------------------------------------------------------
-----------
5> Disponibilità giorni                        |  Dato calcolato       |
----------------------------------------------------------------------------
-----------
* Somma dei giorni "lavorati" da ogni persona
nell'anno di cui si visualizza la maschera.
Il problema nasce dalla differente durata dei contratti
e dal calcolo dei giorni "lavorati" nell'anno.
Nell'esempio infatti ho i primi due che lavorano nel 2001.
Dovrei calcolare i giorni in cui lavorano nel 2001, etc etc.
e poi visualizzare i dati in maschera. Così via per gli anni
successivi.
Quali passi devo fare, dalla semplice tabella iniziale,
per automatizzare il tutto in questa maschera ?
Come faccio a frazionare i tempi dei contratti in giorni/anno
per poi sommare i dati di ipotetiche colonne (campi) con tali dati ?
(Non so se sono stata chiara...ho una gran confusione
dovuta all'inesperienza)
Grazie per l'attenzione.
Anna

 ha scritto nel messaggio
news:9eanqr$hol$1...@lacerta.tiscalinet.it...

Ciao Anna,
mi spiace, ma non ho capito molto.
L'unica cosa che ho capito è che hai bisogno di calcolare i giorni
lavorativi nel periodo in esame.
Dovresti riuscirci utilizzando la funzione presente nel Sito Comune.
Se hai altri problemi, riscrivi chiarendo meglio cosa sono le Unità/Anno al
31/12/(XX-1), i Giorni coperti (nel XXXX) ad oggi e la Disponibilità giorni.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


Spero di essere stata un po più chiara.
Anna

 Spero di essere stata un po più chiara.
Sì, ma chiariscimi ancora l'ultimo punto.
Ciao



Sto provando a tamponare con una serie infinita di query di selezione con
criteri
ma, dopo aver isolato i contratti che hanno, ad es., almeno un giorno di
lavoro
previsto nell'anno definito, non riesco a imporgli un efficace conteggio dei
giorni
(se non con altri campi di qry con espressioni...ma che fatica e che
vergogna !)
Anna




 ha scritto nel messaggio
news:9ee7cu$ms7$2...@lacerta.tiscalinet.it...

... ma hai inserito in un modulo le funzioni presenti sul Sito Comune come
ti avevo detto?


Ho seguito i tuoi consigli (ho cercato di seguirli...):
copiato il tuo codice nell'evento "Dopo Aggiornamento"
Il tutto funziona (ovviamente...non l'ho partorito io !)
ma non coglie ancora ciò che cercavo.
Ho modificato (non so se ho capito male io il "tgg":
Me.Corrisp = Me.Unità * tgg
In:
Me.Corrisp = Me.Unità * 365
e ottengo il dato (2>) che cerco: numero unità X 365 = giorni/anno MAX
Con:
Me.ottantapercento = Me.Corrisp * 0.8
ottengo il dato (3>) che mi serve nella differenza successiva.
Devo a questo punto dirti che il dato più importante è
l'ultimo (5> Disponibilità) ma difficile e focale è il
"4> Giorni coperti nel XXXX", quello arduo da calcolare.
I conti in Excel sono facili: immaginando un wksht e facendo
i calcoli a mano
     Nome/Cognome - [Data Inizio]  - [Data fine] - [gg2001] - [gg2002] -
[gg2003] - [gg2004] - ecc
1)   Mario Rossi       - 23/03/2001 - 31/12/2004      283           365
365        365
2)   Carlo Bianchi     - 11/10/2001 - 30/11/2002       81            333
0            0
3)   Aldo Verdi         - 06/05/2002 - 05/05/2003                       208
124
somma gg                                                          364
906            489        365
e le varie cifre "somma gg" sono le cifre del dato (4>) che, a seconda
dell'anno scelto da una combo, vorrei mi apparissero in automatico.
Il dato (5>) è la differenza ("3>" - "4>")
Ma fare la stessa cosa in Access automatizzando tutto
è il fulcro del 3d !
Un saluto, Anna

 Il dato (5>) è la differenza ("3>" - "4>")
Chiariscimi qualche dubbio.
Sono partito con il considerare che questi Sigg. abbiano stipulato dei
contratti di lavoro x periodi anche superiori ad un anno (calciatori? Piloti
F1? Rappresentanti? Franchisee?) e che tu voglia calcolare:
a) la somma dei giorni lavorativi di tutti i contratti riferiti all'anno
scelto (max 365?);
b) l'80% di a);
c) la somma dei giorni già lavorati di tutti i Sigg. nell'anno scelto;
d) la disponibilità intesa come differenza tra b) e c).
Sto toppando su tutta la linea?


 d) la disponibilità intesa come differenza tra b) e c).
Si. Il dato 5> è = ((Dato 4>) - (Dato 3>)).
Dato che rappresenta i gg "lavorabili" ancora non assegnati
da alcun contratto.
Ciao, Anna.

 da alcun contratto.
nell'origine controllo di [Disponibilità] scrivi
= [ottantapercento] - [Coperti]
Ciao


 End Sub
--


Avevo modificato alcune cose, per quanto di mia competenza (quasi nulla...),
e qualcosa fungeva...
Ti ringrazio infinitamente della gentilezza e della disponibilità.
Anna
ps. Dimmi...le prendi come delle piccole sfide tutto sommato divertenti ?
     Questa è la sensazione che ho io quando devo aiutare qualcuno
     in qualcosa che conosco bene.

      in qualcosa che conosco bene.
certamente!
Dopo aver scoperto questo mare di informazioni, ho imparato a leggermi tutti
i thread x vedere cosa e come era stata data una risposta, poi ho cominciato
a rispondere anch'io e ho scoperto un divertimento nuovo a cui non rinuncio,
compatibilmente con il tempo disponibile.
