Newsgroup: it.comp.appl.access
Titolo: Query di selezione

Buongiorno a tutti,
Ho la seguente necessità:
Da una tabella, che contiene il riepilogo delle giornate lavorative di ogni 
singolo operaio vorrei estrapolare i dati per il rapporto mensile delle 
presenze.
Il problema è che ogni record contiene le informazioni relative ai 15gg, per 
esempio dal 20/8, 21/8, 22/8, 23/8............03/09. Ora io vorrei, una 
volta passati i valori relativi al mese e all'operaio, ricavare il mese, 
senza tener conto delle quindicine.
Sperando di essermi spiegato vi auguro una buona giornata.
Alfio 

 ricavare il mese, senza tener conto delle quindicine.
Se nello stesso record hai informazioni relative a mesi diversi la vedo
dura.
Comunque posta l'esatta struttura della tabella e qualche record di esempio.
Alessandro

 Alfio
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

Buongiorno a tutti,
Ho la seguente necessità:
Da una tabella, che contiene il riepilogo delle giornate lavorative di ogni
singolo operaio vorrei estrapolare i dati per il rapporto mensile delle
presenze.
Il problema è che ogni record contiene le informazioni relative ai 15gg, per
esempio dal 20/8, 21/8, 22/8, 23/8............03/09. Ora io vorrei, una
volta passati i valori relativi al mese e all'operaio, ricavare il mese,
senza tener conto delle quindicine.
Sperando di essermi spiegato vi auguro una buona giornata.
Alfio

Dunque, tralasciando alcuni campi, la tabella ha questa struttura:
IdOperaio
sabato tipo data
domenica tipo data
...
...
...
...
sabato2 data
domenica2 data
lunedi2 data
...
...
...
venerdi2 data.
Totale due settimane che partono dal sabato e si concludono il venerdi
della seconda settimana, il tutto in un record, per ogni singolo
operaio, questo perchè gli operai vengono pagati ogni 15gg.
Il fatto è che vorrei automatizzare le presenze mensili, visto che ho
già una tabella con le presenze e le ore lavorate vorrei che passando
alla query il nominativo dell'operaio ed il mese, mi restituisse il
riepilogo mensile.
Alfio

 venerdi2 data.
Con "esatta struttura" intendo nomi e tipi di campo.
Finora abbiamo:
IdOperaio ==> Intero?
sabato, domenica, ecc.  ==> Testo? (ma probabilmente non serve)
data ==> Data/Ora?
Oltre alle precisazioni di cui sopra, manca il dato da raggruppare: in
parole povere, per ogni operaio cosa si vuole contare? Il numero di ore
lavorate (e in che campo/i del record sono)? Altro?
Per inciso: ma come ti è venuta in mente questa struttura? Se non lo è già
stata, prevedo sarà fonte di notevoli mal di testa... se sei in tempo
raccomando caldamente di cambiarla.
Alessandro

IdOperaio ==> Intero
Sabato, Domenica, Lunedi, Martedi ----------Sabato2 ecc ==> data/ora
da questi campi, 14 in tutto, devo ricavare il mese calendariale,
Questi sono i campi che m'interessano, e sul quale ho la necessità di
sviluppare il mese.
Come mi è venuta in mente? Rapida e fluente :)) , solo che non avevo
previsto lo sviluppo mensile per il consulente del lavoro. Il fatto è
che ricevo le schede firmate dagli operai con le ore di lavoro svolte
giornalmente ogni due settimane e, come dicevo nel precedente post, le
quindicine partono dal sabato per concludersi il venerdi di due
settimane dopo, e così ho strutturato la tabella. Ora da questa
tabella vorrei ricavarmi il mese relativo al singolo operaio. ESEMPIO:
IdOperaio=15
sabato=20/08/05
domenica=21/08/05
lunedi=22/08/05
martedi=23/08/05
 |
 |
 |
 \/
sabato2=27/08/05
domenica2=28/08/05
lunedì2=29/08/08
|
|
|
\/
venerdi2=02/09/05
Quindi la query dovrebbe ricavarmi, avendo dato operaio 15 e mese 8, le
date e gli orari di lavoro partendo dal 1/8 e fermarsi al 31/08.
Alfio

 da questa tabella vorrei ricavarmi il mese relativo al singolo operaio.
La prima cosa che viene in mente è tentare di "normalizzare" il tutto.
SELECT IdOperaio, Sabato AS Data [, altri dati relativi al giorno?]
UNION
SELECT IdOperaio, Domenica
UNION
.
. (ecc. per i 14 giorni)
.
Non so, però, se c'è un limite (e quale) per questo tipo di query.
Se hai la "fortuna" di riuscire a far girare tale query dovresti essere a
posto: ti basterà fare dei raggruppamenti su questa usando Month(Data) per
filtrare il mese che ti interessa.
Altrimenti vedo due opzioni:
- scrivere una funzione in VB
- ristrutturare l'applicativo
La seconda è preferibile, ma non so quanto lavoro implica: dipende da quanto
hai già costruito (maschere, reports, ecc.) sulla struttura attuale.
HTH.
Alessandro

Altri dati relativi al giorno sono le ore di lavoro campo
Ore==>numerico
Ciao,
P.S.: grazie per lo spirito con cui rispondi, ce ne vuole.......
Alfio

 P.S.: grazie per lo spirito con cui rispondi, ce ne vuole.......
Nel dubbio, lo prendo come un complimento e ringrazio. :)
Alessandro

Non restare nel dubbio.....è un complimento ;)
Alfio