Newsgroup: it.comp.appl.access
Titolo: Db gestione turni: qualche idea

Salve,
vorrei creare un db per la gestione turni dei dipendenti di una
piccola societą, qualcuno ha mai creato un db del genere?
Potrebbe darmi
qualche idea su come strutturarlo?
Grazie 1000
Kito
--------------------------------
Inviato via 
http://usenet.iol.it

Se puoi dare qualche informazione in piů č meglio, cmq penso cche un
apllicativo simile sia meglio svilupparlo in maniera visuale e realizzando
report con diagrammi di Gantt (non sono sicuro che si scriva cosě). Sul sito
comune troverai materiale in merito.
Per quanto riguarda la realizzazione dell'archivio dipende che tipo di
approccio vuoi fare.
1) Potresti fare una cosa simile:
Tab DIPENDENTI
Tab TURNI (1 a molti con la prec) contenente ora inizio e ora fine.
Lo svantaggio č che devi fare tu a mano tramite VBA tutti i calcoli
necessari;
2) altra soluzione:
Tab DIPENDENTI
Tab GIORNO LAVORATIVO (1 a molti con la prec) suddivisa nelle fascie orarie
che ti interessano durante la giornata.
Svantaggio č che dovrai riempire a mano tutti i valori da inizio a fine ma
dovresti fare meno calcoli e l'inserimento puň essere visivo.
Queste sono solo le prime idee che mi sono venute in mente.
Ciao
FACE ONE

 report con diagrammi di Gantt (non sono sicuro che si scriva cosě). Sul
sito
che roba sono i diagrammi di Gantt?
Max

Spero di non dire fesserie cmq i diagrammi di Gantt sono diagrammi che si
prestano bene a rappresentare fascie temporali. Ad esempio se prendi un
normale calendario e segni con delle barre gli appuntamenti che iniziano in
una certa data e finiscono in un altra questi sono appunto diagrammi di
Gantt.
FACE ONE

 qualche idea su come strutturarlo?
Io ne ho creato uno per gestire le assenze, che e' un problema di segno
opposto ma di struttura simile.
I dettagli dipendono da com'e' la tua situazione, comunque lo scopo
finale e' produrre uno statino giornaliero o settimanale che per ogni
turno, per ogni postazione, ti stampi il nominativo dell'addetto o degli
addetti. 
Uno statino puo' essere settimanale o giornaliero; tipicamente avrai in
verticale le postazioni da coprire (Macchina A, Macchina B, Macchina C,
Centralino, Magazzino, Pulizie) e in orizzontale i turni (nello statino
settimanale i giorni della settimana, in uno statino giornaliero i tre
turni es. 6-14, 14-22, 22-6).
Lo statino si appoggia a una query a campi incrociati dove incroci la
data (turno) con la postazione e nella casella risultante metti l'id
dell'addetto.
La query a campi incrociati viene generata a partire da una tabella
lineare che sara' il cuore dell'applicazione, che chiamiamo TBL
Assegnazioni, composta da un elenco di di righe a tre campi: per ogni
riga avrai data (turno), idpostazione, idaddetto. 
Lo scopo e' di assegnare, per ogni turno e per ogni postazione (dati
fissi) la persona piu' adatta (dato variabile).
Percio', a monte della tabella assegnazioni, devi prevedere 
1) una tabella anagrafica degli Addetti, 
2) una tabella anagrafica delle postazioni da coprire, 
3) una tabella delle skill che sono dei punteggi di pesatura numerica di
quella che e' la perizia dell'addetto su quella postazione (per evitare
es. di assegnare una centralinista a un tornio). 
La generazione di turni inzia generando una TBL Assegnazioni vuota, in
cui viene popolato solo il calendario, con l'elenco delle date e delle
postazioni, lasciando vuoto il campo dell'addetto.
L'inserimento degli adetti puo' essere manuale, col programma che si
limita a verificare a posteriori che l'addetto sia effettivamente
skillato per quella postazione, o automatico, fatto da codice, con loop
che per ogni turno e per ogni postazione ancora vuota prende l'addetto
disponibile piu' skillato e ve lo assegna, flaggandolo poi busy. 
Mi fermo perche' da qui in poi la cosa si complica a piacere
Ciao