Estrapolare informazioni da un campo data
Moderatore: Moderatori
-
- Messaggi: 94
- Iscritto il: mercoledì 28 gennaio 2004, 1:00
- Località: Cesena
Estrapolare informazioni da un campo data
Salve,
Mi ripresento al cospetto del forum per cercare di risolvere due problemi. Sono quasi riuscito ad automatizzare la campilazione di calendario annuale perpetuo con FM6, dove successivamente verranno impostati i turni di lavoro del pesonale in un reparto di dialisi. Per completarlo dovrei estrapolare due dati: il primo e la data che corrisponde al primo lunedì dell'anno. Il secondo e il numero delle settimane che compongono un anno (considerando i bisestili). Il tutto partendo da un campo dove specifico l'anno di compilazione(ad esempio il 2006). Pensate che sia possibile? O servono più variabili?
Grazie
Mi ripresento al cospetto del forum per cercare di risolvere due problemi. Sono quasi riuscito ad automatizzare la campilazione di calendario annuale perpetuo con FM6, dove successivamente verranno impostati i turni di lavoro del pesonale in un reparto di dialisi. Per completarlo dovrei estrapolare due dati: il primo e la data che corrisponde al primo lunedì dell'anno. Il secondo e il numero delle settimane che compongono un anno (considerando i bisestili). Il tutto partendo da un campo dove specifico l'anno di compilazione(ad esempio il 2006). Pensate che sia possibile? O servono più variabili?
Grazie
-
- Messaggi: 94
- Iscritto il: mercoledì 28 gennaio 2004, 1:00
- Località: Cesena
Salve a tutti,
Intervengo, in quanto il primo problema lo risolto poco fà. Si cercava di capire in quale data cadesse il primo lunedì dell'anno. Per fare ciò ho creato due campi: il primo, di tipo data, l'ho chiamato "inserimento data". In questo campo per semplicità e convenzione immetto sempre il primo giorno ,del primo mese, dell'anno che mi interessa verificare (ad es. 01/01/2005).
Il secondo, è un campo calcolato,sempre di tipo data, con una serie di istruzioni If annidate, e più precisamente:
If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Domenica";inserimento data+1;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Lunedì";inserimento data;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Martedì";inserimento data+6;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Mercoledì";inserimento data+5;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Giovedì";inserimento data+4;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Venerdì";inserimento data+3;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Sabato";inserimento data+2;""))))))).
Ripeto, ciò che condiziona il risultato, non è tanto il giorno e il mese, ma è l'anno.
Per quanto riguarda il calcolo di quante settimane e costituito un determinato anno, beh, sono ancora all'asciutto. Ho provato due soluzioni che per il momento non mi soddisfano: una è l'utilizzo della funzione "GiorniDellAnno". Utilizzando sempre il campo sopra citato "inserimento data"come riferimento, dove scrivo la data che conclude ogni anno solare (ad es 31/12/2005); ricavo il numero dei giorni che compongono l'anno e li divido per 7. Ovviamente, e non so per quale motivo, il risultato restituito non è sempre coretto. La stessa cosa succede se utilizzo al posto della funzione "GiorniDellAnno"la sua compagna "SettimaneDellAnno". Qualcuno può darmi una mano a proposito?
Grazie infinite[/code]
Intervengo, in quanto il primo problema lo risolto poco fà. Si cercava di capire in quale data cadesse il primo lunedì dell'anno. Per fare ciò ho creato due campi: il primo, di tipo data, l'ho chiamato "inserimento data". In questo campo per semplicità e convenzione immetto sempre il primo giorno ,del primo mese, dell'anno che mi interessa verificare (ad es. 01/01/2005).
Il secondo, è un campo calcolato,sempre di tipo data, con una serie di istruzioni If annidate, e più precisamente:
If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Domenica";inserimento data+1;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Lunedì";inserimento data;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Martedì";inserimento data+6;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Mercoledì";inserimento data+5;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Giovedì";inserimento data+4;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Venerdì";inserimento data+3;If(NomeGiorno(Data(Mese(inserimento data);1;Anno(inserimento data)))="Sabato";inserimento data+2;""))))))).
Ripeto, ciò che condiziona il risultato, non è tanto il giorno e il mese, ma è l'anno.
Per quanto riguarda il calcolo di quante settimane e costituito un determinato anno, beh, sono ancora all'asciutto. Ho provato due soluzioni che per il momento non mi soddisfano: una è l'utilizzo della funzione "GiorniDellAnno". Utilizzando sempre il campo sopra citato "inserimento data"come riferimento, dove scrivo la data che conclude ogni anno solare (ad es 31/12/2005); ricavo il numero dei giorni che compongono l'anno e li divido per 7. Ovviamente, e non so per quale motivo, il risultato restituito non è sempre coretto. La stessa cosa succede se utilizzo al posto della funzione "GiorniDellAnno"la sua compagna "SettimaneDellAnno". Qualcuno può darmi una mano a proposito?
Grazie infinite[/code]
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
ciao,
puoi notevolmente semplificare il tutto...
Per prima cosa, non c'è bisogno di definire un nuovo campo per la data, basta quello che già hai, contenente solo l'anno !
Nell'esempio che segue lo chiameremo ANNO (campo testo).
1) quesito: crei un campo calcolato (PrimoLunediAnno) di tipo data e calcolo:
2) quesito: crei un campo calcolato (SettimaneAnno) di tipo numero e calcolo:
puoi notevolmente semplificare il tutto...
Per prima cosa, non c'è bisogno di definire un nuovo campo per la data, basta quello che già hai, contenente solo l'anno !
Nell'esempio che segue lo chiameremo ANNO (campo testo).
1) quesito: crei un campo calcolato (PrimoLunediAnno) di tipo data e calcolo:
Codice: Seleziona tutto
Data ( 1 ; Modulo ( 2 - GiornodiSettimana ( Data ( 1; 1 ; Anno ) ) + 7 ; 7 ) + 1 ; Anno )
Codice: Seleziona tutto
SettimanedellAnno( Data( 12 ; 31; Anno ))
Raybaudi FMP 12 Adv. Windows XP SP3