Newsgroup: it.comp.appl.access
Titolo: Calcolo costo orario esatto ...

ciao a tutti ... ricorro ancora una volta al vostro preziosissimo aiuto
per risolvere un problema che per le mie attuali conoscenze sembra
irrisolvibile (e' da un giorno che ci sbatto la testa ma il risultato e'
nullo).
Spiegazione ...
Ho 3 tabelle, nella prima che chiamero' "tab_ore" ho i campi
"Operatore","Data","Ore_lavorate", nella seconda tabella che chiamero'
"Tab_anagrafica" ho i campi "Operatore" e altri campi per i suoi dati
anagrafici mentre nella terza tabella che chiamero' "Tab_costo_ora" ho i
campi "Operatore","Costo_orario","Data_dal".
Il campo "Operatore" della tabella "Tab_anagrafica" e' la chiave
primaria ed e' collegato al campo "Operatore" delle altre due tabelle
con una relazione uno a molti.
E fin qui dovrebbe essere tutto ok.
I problemi iniziano quando con le mie belle interrogazioni sul databese
voglio vedere quante ore un certo operatore ha lavorato con il loro
relativo costo orario che puo' cambiare da una certa data in poi come da
tabella "Tab_costo_ora".
Come posso fare per visualizzare il costo orario esatto per la data in
cui si e' svolto realmente il lavoro ???
Attendo fiducioso qualche imbeccata ...
grazie e ciao
alessio
(p.s.: se ritenete il caso posso anche mandarvi copia del database)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:b8be8475a478e570c37...@mygate.mailgate.org...

Essendo Data un nome riservato di Access, nel mio esempio il tuo campo Data
della tabella Tab_ore l'ho chiamato Data1.
Qui di seguito trovi il codice SQL di una query che riporta tutti i campi
della tabella Tab_ore più un campo calcolato, chiamato CostoOrarioEsatto, e
che rappresenta, per ogni record, il dato che tu stai cercando.
SELECT Tab_ore.Operatore, Tab_ore.Data1, Tab_ore.Ore_lavorate,
DLookUp("Costo_orario","Tab_costo_ora","Operatore =" & [Operatore] & " AND
Data_dal=#" & Format(DMax("Data_dal","Tab_costo_ora","Operatore=" &
[Operatore] & " AND Data_dal <=#" & Format([Data1],"mm/dd/yyyy") &
"#"),"mm/dd/yyyy") & "#") AS CostoOrarioEsatto
FROM Tab_ore;
Spero che sia ciò che volevi.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 
ciao Roberto e grazie del tuo aiuto ...
purtroppo la query mi da questo errore:
Errore di sintassi (operatore mancante) nell'espressione della query
'Operatore=Belli A. AND Data_dal <=#03.05.2002#'.
io non saprei proprio dove mettere le mani, se ti vengono idee fammi
sapere.
ciao e ancora grazie.
alessio


 ha scritto nel messaggio
news:409523495acf92ece85...@mygate.mailgate.org...

Non riesco a capire bene cosa stai tentando di fare.
Prova a postare il codice SQL completo della query, magari capisco meglio.
Comunque per scrupolo ho testato il codice SQL che ti ho inviato nel mio
messaggio precedente e a me funziona perfettamente.
Mentre scrivo mi è venuto un dubbio: ma il campo Operatore che tipo dato ha?
E' per caso Testo?


 Roberto
ancora ciao ...
ecco il codice SQL completo:
SELECT Tab_ore.Operatore, Tab_ore.Data1, Tab_ore.Ore_lavorate,
DLookUp("Costo_orario","Tab_costo_ora","Operatore =" & [Operatore] & "
AND
Data_dal=#" & Format(DMax("Data_dal","Tab_costo_ora","Operatore=" &
[Operatore] & " AND Data_dal <=#" & Format([Data1],"mm/dd/yyyy") &
"#"),"mm/dd/yyyy") & "#") AS CostoOrarioEsatto
FROM Tab_ore;
Si, il campo Operatore e' di tipo testo (e' il nome della persona).
grazie


 alessio
Il codi SQL che mi hai inviato non contiene errori formali: ho creato con un
copia/incolla a crearci una query ed a me ha funzionato regolarmente:
naturalmente nel campo CostoOrarioEsatto, invece del risultato desiderato,
mi compare la scritta #Errore.
Comunque il codice SQL che va usato nel caso in cui il campo Operatore sia
di tipo Testo č il seguente:
SELECT Tab_ore.Operatore, Tab_ore.Data1, Tab_ore.Ore_lavorate,
DLookUp("Costo_orario","Tab_costo_ora","Operatore =" & Chr$(34) &
[Operatore] & Chr$(34) & " AND Data_dal=#" &
Format(DMax("Data_dal","Tab_costo_ora","Operatore=" & Chr$(34) & [Operatore]
& Chr$(34) & " AND Data_dal <=#" & Format([Data1],"mm/dd/yyyy") &
"#"),"mm/dd/yyyy") & "#") AS CostoOrarioEsatto
FROM Tab_ore;
Prima di inviartelo ho testato il codice, ed a me funziona correttamente.


 
E' lo stesso tipo di messaggio che compariva anche a me ...
Grazie mille per la nuova versione, sono certo che funzionera' alla
perfezione. La implementero' questa notte.
ciao


 
Ho verificato che i filtri non funzionano se i valori dei campi
contengono punti quindi non " BELLI A." ma  "BELLI AGOSTINA".
Ciao
Marco


 Marco
Prova con il codice SQL che ho postato l' 8/3/2002 alle ore 16:33 ; funziona
anche "BELLI A.". ;-)

 anche "BELLI A.". ;-)
Confermo ... funziona tutto a meraviglia.
Grazie ancora Roberto ... ti devo una bevuta.
alessio
