Newsgroup: it.comp.appl.access
Titolo: Query e/o Report

Salve a tutti i componenti di questo SPLENDIDO NG!!!
Non riesco a trovare una soluzione, diciamo cosiì, "LISCIA" al mio problema
che qui espongo:
------------------------------
TABELLA SERVIZIO
id
nominativo
reperibilità ----> tipo yes/no
presenza ------>  "    numerico (opzioni da 1 a
3:1=feriali,2=festivo;3=festivitàSpeciale);
OreNotture
===================
TABELLA STRAORDINARIO
idservizio ------>numerico (relazione uno a molti con l'id della tabella
servizio)
OreFeriali
OreNotturne
OreFestive
------------------------------
Quando creo una query per sapere quante ore di straordinario un dipendente
ha svolto in un determinato periodo, con la relazione opzioni join n.2,
anche se un dipendente, per quel periodo, non ha effettuato straordinario,
mi funziona perfettamente, dandomi per gli assenti il campo vuoto. I dolori
iniziano quando
voglio sapere se qualcuno ha effettuato reperibilità e quante, e/o ore
notturne e/o il tipo di presenza  feriale, festivo o festività speciale, la
query, praticamente, impazzisce dandomi numeri a casaccio.
Cosa c'è che non va? Con la relazione opzione join 2 pensavo di aver
risolto.
In pratica chiedo aiuto per poter costruire un report efficiente che mia dia
un riepilogo, per esempio mensile, delle presenze totali nonchè degli
straordinari dei dipendenti anche se qualcuno di essi è stato assente.Forse
devo costruirlo con più query distinte per straordinario e presenze?e come?
Grazie per la cortese attenzione.
Marco.

 Marco.
Se riesci ad essere più chiaro ci aiuti ad aiutarti.  ;-)
Ciao. Fabrizio.

 > query, praticamente, impazzisce dandomi numeri a casaccio.
Spero di essere stato abbastanza chiaro e, ringraziandoti per la squisita
attenzione, resto in attesa di ulteriori determinazioni.
Grazie.
Marco.

 Marco.
Ma dormire la notte?, cos'è straordinario? :-)
Senti chi parla.
Ciao. Fabrizio.

"Fabrizio da casa" <fabrizio...@SPAMtiscalinet.it> ha scritto nel
messaggio news:akjp9t$g07$1...@lacerta.tiscalinet.it...

Esimio Fabrizio, ecco il codice da te richiesto:
SELECT dipendenti.COGNOME, Sum(straordinario.feriali) AS SommaDiferiali,
Sum(straordinario.fest_e_not) AS SommaDifest_e_not,
Sum(straordinario.not_fest) AS SommaDinot_fest, Sum(servizio.notturno) AS
SommaDinotturno, Count(servizio.reperibilità) AS ConteggioDireperibilità
FROM (dipendenti INNER JOIN servizio ON dipendenti.IDdipendente =
servizio.iddipendente) LEFT JOIN straordinario ON 
servizio.id
 =
straordinario.idservizio
WHERE (((servizio.data) Between #8/1/2002# And #8/31/2002#) AND
((servizio.reperibilità)=2))
GROUP BY dipendenti.COGNOME;
dunque, ho aggiunto, per ultimo, un riepilogo della reperibilità e relativo
conteggio. Qui, praticamente, la query diventa "non veritiera" perchè, in
pratica, non mi conteggia lo straordinario di un dipendente visualizzato. Se
tolgo la reperibilità, il tutto funziona, straordinario e notturno ma non
altro di più. :-((
Ti confermo che l'ID della tabella dipendenti, è chiave primaria.
Insomma la richiesta è la seguente: come posso avere un "tabellone" per
avere un riepilogo di tutta l'attività del dipendente?Considera che le
tabelle separate e relazionate le devo avere PER FORZA: Tabella
Dipendenti;Tabella Straordinari ecc.
Grazie ancora.
Marco.

La chiave ID della tabella servizio č primaria
La chiave ID della tabella dipendenti č primaria
la chiave ID della tabella staordinario č un contatore normale senza chiave
primaria.

 primaria.
Non vorrei sembrare pedante ma scoprire che c'è una terza tabella non è da
poco, per quello i conti non mi tornavano: ricordati di dare tutte le
tabelle che entrano in gioco nella query anche quelle che sono solo di
collegamento.
Adesso guardo: (servizio.reperibilità)=2 , non l'ho capito, prova a
impostarlo come true o false ( col QBE come Vero o Falso).
Servizio.reperibilità non è Yes/NO?
Adesso prova questo, poi dopo controllo i join e il resto ( almeno devi
aspettare fino a stasera )

"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:aklgkp$6af$1...@lacerta.tiscalinet.it...

Illustre Fabrizio,
purtroppo la "reperibilità" è un campo numerico creato nella maschera come
gruppo opzioni:default=1 (no) e 2 (si).
Grazie per la squisita disponibilità. Mi secca l'enorme fastidio che sto
creandoti.
Grazie ancora.
Marco.

 Marco.
Oh mamma che casino, spiegami: Servizio.Reperibiltà è un campo numerico o un
campo Booleano(si/no)?
Prima mi dici che è un campo si/no, adesso che è un campo numerico, se
aspetto ancora un po' .... ma no, ho paura a chiedertelo, mi basta che tu mi
dica esattamente cos'è ( guarda in visualizzazione struttura della tabella :
è su quello che noi facciamo le query ).
Ciao. Fabrizio.

 Marco.
Vorrei aiutarti di più, ma faccio veramente fatica a capire il tuo DB.
Adesso mi leggo con calma il codice che hai prodotto e vedo di capire anche
come hai fatto il DB, spero di arrivare alla soluzione con te prima di
domani sera perchè poi vado in vacanza, cmq questa chiacchierata ti sarà
sicuramente servita a mettere giu meglio il problema: potrai ripostare
riuscendo a dare più indicazioni a chi ti legge: almeno questo.
Ciao. Fabrizio.


A dire il vero ho provato a costruirmi un DB "uguale" al tuo:
Tabella dipendenti ( IDDipendente=contatore(PK); Cognome=testo)
Tabella Servizio (ID=contatore(PK); IDDipendente=numerico(FK);
Reperibilità=SI/NO; Presenza=testo; Notturno=numerico; Data=Data)
Tabella Straordinario (IDServizio=Numerico(FK); feriali=Numerico;
Fest_e_not=Numerico; Not_fest=numerico)
Gli ho passato il tuo codice : nada
Gli ho passato il codice mettendo al posto di   "servizio.reperibilità=2"
"servizio.reperibilità=true" ( in QBE a posto di 2 metti Vero) ed è andato
alla perfezione, ripeto sei sicuro che sto' Reperibilità non sia un campo
booleano (SI/NO)? Se così fosse la risolveresti in due secondi.
IO poi mi permetto di disentire sul tipo d'inserimento che fai in maschera
di Reperibilità ( si 1 ; no 2 ), la incasini per nulla sta' maschera ( e mi
sa che ti incasini pure le idee, le scelte arbitrarie che fai sulla maschera
non si riflettono tutte sulla tabella : per es. il campo SI/NO rimane sempre
lo stesso).
Per ultimo, ho trovato la scelta dei nomi dei campi assurde: ID non va bene
aggiungi un prefisso tipo... Servizio, le tabelle mettile sempre al plurale
e i campi al singolare e scegli dei nomi maggiormente descrittivi.
Ciao. Fabrizio

"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:akm5pd$idr$2...@lacerta.tiscalinet.it...

Grazie ancora e scusa per i casini di erronea scrittura e/o interpretazione
(mannaggia...!!!)
Allora rifocalizziamo il tutto.
Sullo straordinario mi serve la somma e non il conteggio; sulle
reperibilità, invece, mi serve il conteggio e, cioè, quante volte il
dipendente è stato reperibile; sul notturno mi serve la somma delle ore
notturne, ecc. ecc. (non ti dico altri campi senno' impazziremmo -
fermiamoci qui).
Ok, penso che, comunque, hai dato la dritta giusta e, cioè, di creare più
query separate per i vari conteggi e/o somme.
Ma alla fine, intendo "IL TABELLONE FINALE", che sarà un report, tutti i
dipendenti verranno "a galla" con tutte le informazioni? soprattutto,
ipotizziamo, un dipendente che, per un mese intero, è stato in malattia e
non ha nessuna voce in termini di remunerazione?
Grazie ancora e, se non ci "sentiamo", buone vacanze!
Marco.

 Marco.
Grazie per gli auguri, spero in un bellissimo settembre con la famiglia in
toscana, ma con sta' sfigaccia che mi perseguita....
Ciao Marco sgrezza un po' il tuo gergo così ti si capisce meglio.
Ciao. Fabrizio.

"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:akmc2c$kdd$1...@lacerta.tiscalinet.it...

Certamente devo ammettere che sono molto crudo specialmente nel gergo
"Access e VBA".
Comunque ho fatto un query di aggiornamento con un altro campo, nella
tabella servizio, di tipo YES/NO.
Ho provato con la stessa query, cambiando ovviamente i riferimenti di campo
(con quello nuovo), IDEM !
Il conteggio, fatto su campo tipo YES/NO o numerico, il problema non cambia.
Devo, purtroppo, a provare con queries distinte e separate e lambiccarmi il
cervello di come il tutto dovrebbe uscire.
Ok, ti saluto e tanti auguri per le tue vacanze!
Marco.

 Marco.
Ciao. Fabrizio.

 Ciao. Fabrizio
Volevo dire suffisso, non che cambi molto per carità, ma lo dico per
correttezza.
Ciao. Fabrizio.