Newsgroup: it.comp.appl.access
Titolo: dlookup questo oscuro comando.. e query

Salve ragazzi,
sembra proprio che dlookup deve essere il mio nightmare, visto che continuo
ad usarlo..  e continuo.. ad avere qualche problemuccio...
allora. vediamo se qualcuno puo' darmi come al solito qualche dritta..
premesso che,  devo semplicemente  sviluppare un calcolo da alcuni campi di
una sottomaschera dove il risultato e' posto sulla maschera principale, ho
pensato di risolverlo in questo modo:
ho fatto una sql o query se preferite,  dove mi va a fare il calcolo in
oggetto, ed eseguita da sola fuzniona in modo corretto, la mostro x
chiarezza di quanto sto dicendo:
SELECT DettaglioOrdini.IDOrdine,
Sum([Quantità]*([Prezzo]-([Prezzo]*[Sconto])/100)) AS SubTotale
FROM DettaglioOrdini
GROUP BY DettaglioOrdini.IDOrdine;
apro una parentesi: in precedenza avevo messo anche un where, in modo che
confofrontava direttamente  l'id ordine della maschera e tirava  fuori un
solo risultato e non tutti i rispettivi risultati x ogni Idordine.
 in verita' pensavo di poter passare il risultato direttamente ad una
casella di testo con il "famigerato" Dlookup; ma pensando che doveva andarsi
a ricercare il risultato direttamente ho rimosso il where.
ok siamo al nocciolo...
Totale = DLookup("Subtotale", "DettaglioOrdini Query", "[IDORdine] = " _
& Tr_IDOrdine)
dlookup, mi funziona pure.. ma c'e' un problema non mi tira fuori il
risultato xche' nella query ancora non c'e'...
se provo a tirare fuori il sisultato del'idordine precedente chiaramente
c'e'...
requery?? come? non ci sono riuscito...
ah.. .se pensate che ho fatto un casino x niente ed era piu' semplice farlo
in un altro modo, notificatemelo pure.. anche se ho buttato ore al vento :)
Ciao GRazie.

 ha scritto nel messaggio
news:cvf6qs$fl5$1...@fata.cs.interbusiness.it...

Prepara una query chiamata tuaquery
SELECT DettaglioOrdini.IDOrdine,
[Quantità]*([Prezzo]-([Prezzo]*[Sconto])/100)) AS SubTotale
FROM DettaglioOrdini
Quindi:
Totale = DSum("SubTotale","TuaQuery","[IDORdine] = " _
& Tr_IDOrdine)
Antonio

 Antonio
Potrebbe essere una soluzione più rapida in esecuzione inglobare un
SUM nella Query.
SELECT SUM (Espressione) As SubTotale From DettaglioOrdini WHERE .........
Ultimamente ho fatto diversi testo con queste funzioni di aggregazione sui
domini e devo dire che non conviene usarle dove la quantità dei Records è
sostenuta.
Proprio ieri usando un Somma(espressione) per un totale in una Form Continua
notavo l'effetto aggiornamento ritardato con lo scorrere dei Record, quindi
ho provato
ad usare una Funzione Private usando DSUM(...) ed effettivamente migliorava.
Poi ho provato ad usare un Recordset aperto su "SELECT SUM(...) as Totale
Form....WHERE...."
e non ci sono paragoni.
Il tutto su circa 15000 Records.
Saluti
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:421b76d6$0$6310$5fc...@news.tiscali.it...

Thx in parte ho risolto, ho dovuto fare qualche modifica, ma nel giro di una
ventina di minuti tutto era risolto, come al solito le vostre dritte erano
troppo buone :)
Ciau alla prox