Conteggio ore rimanenti su base settimanale

di il
3 risposte

Conteggio ore rimanenti su base settimanale

Buongiorno a tutti, non sono molto esperto di Access e magari la soluzione è banale, ma avrei bisogno di un piccolo aiuto. Ho un db con 2 tabelle, la prima chiamata anagrafica che contiene i dati del dipendente, fra i quali il campo ore contratto settimanali. Ho un altra tabella chiamata turni dove devo calcolare i vari turni dei dipendenti senza che questi sforino il monte ore settimanale. Quello che voglio è una cosa del genere, se un dipendente ha 40 ore settimanali, magari lunedì fa 2 ore da un cliente, 4 da un altro ed 1 da un altro nella casella ora restanti mi deve rimanere 33. Poi mi servirebbe anche trovare un sistema che all'inizio di ogni nuova settimana mi riproponga nuovamente l'intero monte ore come disponibile. E' fattibile il tutto? Grazie a tutti.

3 Risposte

  • Re: Conteggio ore rimanenti su base settimanale

    Certo che è fattibile... tu hai bisogno di qualcuno che lo faccia per te, oppure hai provato a fare qualcosa ed è solo da aggiustare...?
    Nel 2° caso mostraci cosa hai prodotto e cosa non funziona... oppure dove trovi difficoltà a procedere...
  • Re: Conteggio ore rimanenti su base settimanale

    Ciao, ho creato 2 tabelle, una dove ci sono i vari dati anagrafici e dove si trova anche il monte orario di ogni singolo dipendente (formattato in formato numerico). Poi ho creato una seconda tabella dove ci sono le varie informazioni sui turni, in particolare il campo data ed il campo ora (ogni dipendente può fare più interventi durante la giornata, ad esempio in data 10/4 dalle 9:00 alle 11:00 e sempre il 10/4 dalle 12:00 alle 14:00). Ho messo in relazione le due tabelle usando questa logica, un dipendente può avere più turni, quindi ho creato la maschera che vedete allegata. Posso creare un campo calcolato dove tolgo le ore di quel intervento alle ore di contratto settimanale, ma poi non so come andare avanti

    I problemi che non so al momento come risolvere sono:
    1) Trovare un sistema che all'inizio di una nuova settimana mi riproponga di nuovo il monte orario totalmente disponibile
    2) Trovare un sistema per calcolare il defalcamento delle ore dei vari interventi dal monte ore settimanale
    Allegati:
    19272_58c001f601516c0f6016714f5b69418c.png
    19272_58c001f601516c0f6016714f5b69418c.png
  • Re: Conteggio ore rimanenti su base settimanale

    Lascia stare la maschera, quella non risolve i calcoli... quindi in sostanza quando fai la maschera è perchè i dati tornano...

    Nel tuo caso:
    1° Fossi in te rivedrei sia il campo Data che il campo Ore, nel senso che nel campo data inserirei anche OraInizio e nel campo Ore metterei solo le Ore come Numerico...
    
    Data                             Ore
    16/03/2016 08:00:00    2
    16/03/2016 11:00:00    1
    ecc...
    In questo modo il calcolo delle ore lo fai tu in fase di inserimento...!

    Oppure metti DataInizio e DataFine
    
    DataIni                         DataFine
    16/03/2016 08:00:00    16/03/2016 10:00:00
    In questo modo il calcolo delle ore lo deve fare il sistema... per farlo si usa DateDiff
    Se nella finestra immediata lo provi...
    
    ?Datediff("h",#16/03/2016 08:00:00#,#16/03/2016 10:00:00#,vbMonday)
    ----> Risultato= 2
    In una Query dovrai inserirlo scritto diverso:
    
    OreLavorate:Datediff("h";DataIni,DataEnd;2)
    Ne consegue che potrai fare una Query con un campo Calcolato che esprime il Numero di ORE lavorate negli intervalli, attenzione agli arrotondamenti ecc...

    Ora rimane la Settimana...!
    Per sapere di che settimana parliamo si usa:
    
    ?DatePart("ww",#16/03/2016 08:00:00#,2,2)
     11 
    In una query dovrai scriverlo così:
    
    =DatePart("ii";DataIni;2;2)
    Attenzione per il calcolo della Settimana, leggi questo articolo:

    Ne consegue che ora puoi costruire una Query che calcola le Ore lavorate nei singoli Intervalli e definisce anche la settimana.

    Ora sapendo che puoi, creare una Query Raggruppata per Settimana con Campo OreLavorate in somma, otterrai il totale, se il MonteOre è sempre 4 potrai anche aggiungere un campo con il conteggio Residuale...

    Ora dedicati alle prove per fare quanto ti ho suggerito... è semplice.
Devi accedere o registrarti per scrivere nel forum
3 risposte