Newsgroup: it.comp.appl.access
Titolo: Query Falsa

Salve a tutti,
Come mai nel creare una query, mancano dei record, che nella tabella
esistono??
saluti CF

La query è costruita con più tabelle ed è probabile che un join tra queste
faccia estrarre una porzione di records.
Bisognerebbe vedere la query ed i dati.
Cataldo Formaro wrote in message


esistono??
Perchè una query effettua una selezione dei reocrd secondo determinati
criteri di filtro ed evidentemente tu la crei non selezionadoli tutti!
Antonio

esistono??
Prova a riformulare la query con gentilezza.
--
Lorenzo Coronati
--
<<Nessuno sa che questa affermazione e' vera>>
(John D. Barrow)
--

Grazie a tutti, ma non sono riuscito a leggere le Vostre risposte in
riferimento alla mia Query falsa, e precisamente quella di Fabio Montagnari
e Antonio Biso
Intanto mi spiego meglio:
(e nel caso mi rispieghero ancora meglio)
Ho una Query (RIEPILOGO) cosi organizzata per campi:
(Q_CARICO) che mi da la quantità di farmaco caricato -dalla query- Q_CARICO
(Q_SCARICO) che mi da la quantità di farmaco scaricato -dalla query-
Q_SCARICO
(FARMACO) che mi descrive il farmaco -dalla tabella- Tb_Farmaco
(GIACENZA_INIZIALE) che mi riporta il valore all'inizio dell'anno dalla
Tb_Farmaco
(RIMANENZA) in cui vorrei calcolare la differenza tra
(GIACENZA_INIZIALE+CARICO-SCARICO) e questo non mi riesce, come fare???
Riesco a risolverlo solo nella maschera della query riepilogo, ma non mi da
i valori di quei farmaci che mancano di un valore di carico o di scarico.
Mentre i farmaci presentano un di carico e di scarico, vengono riportati
nella query di riepilogo.
nelle query di CARICO e SCARICO tutto funziona
Risolto questo, mi sono tolto un peso.
saluti CF

nelle query di CARICO e SCARICO tutto funziona
Mi fa piacere, meglio di niente ;-)


 wrote in message
38e11b77...@news.libero.it...


Sii umile (Anzi molto umile) ... e fammi capire
Sii umile... e posta dopo il quoting...
Antonio

l'sql???
Semplicemente postarlo, in modo che possiamo leggerlo per
capire dove sta il problema!
Una query non e' altro che una stringa composta secondo le
regole del linguaggio sql (structured query language):
quando apri una q in struttura, nel menu visualizza trovi
proprio sql; seleziona tutto, un bel ctrl-c, e via!


Caro Lorenzo,
Grazie per avermi preso per mano... spero arriviamo al traguardo!!!
Questa è la sql della Query (Q_CARICO_Mov_Farmaci)
SELECT [tb_Mov_Farmaci].[IDFarmaco], Sum([tb_Mov_Farmaci].[QtaMovimentata])
AS TotCarico, [tb_Mov_Farmaci].[TipoOperazione], [tb_Mov_Farmaci].[Data]
FROM tb_Mov_Farmaci
GROUP BY [tb_Mov_Farmaci].[IDFarmaco], [tb_Mov_Farmaci].[TipoOperazione],
[tb_Mov_Farmaci].[Data]
HAVING (((tb_Mov_Farmaci.TipoOperazione)="Carico") AND
((tb_Mov_Farmaci.Data) Between [Inserisci la Data di Inizio] And [Inserisci
la Data di FIne Periodo]));
Questa è la sql della Query (Q_SCARICO_Mov_Farmaci)
SELECT [tb_Mov_Farmaci].[IDFarmaco], Sum([tb_Mov_Farmaci].[QtaMovimentata])
AS TotScarico, [tb_Mov_Farmaci].[TipoOperazione], [tb_Mov_Farmaci].[Data]
FROM tb_Mov_Farmaci
GROUP BY [tb_Mov_Farmaci].[IDFarmaco], [tb_Mov_Farmaci].[TipoOperazione],
[tb_Mov_Farmaci].[Data]
HAVING (((tb_Mov_Farmaci.TipoOperazione)="Scarico") AND
((tb_Mov_Farmaci.Data) Between [DataInizio] And [DataFIne]));
Grazie CF

Caro Lorenzo,





Rimane da creare una Query di unione dei dati (Q_UNIONE_Farmaci)
1) Come impostarla affinchè non si verifichino gli errori che ti avevo
esposto precedentemente???
2) Vorrei capire qualcosa su "INNER JOIN"
Grazie CF

Questa è la sql della Query (Q_CARICO_Mov_Farmaci)
Ho capito: sei fuori strada.
Se la tabella che contiene carichi e scarichi e' la stessa,
non ha senso fare due query e poi cercare di assemblarle in
una: conviene fare tutto con una unica query.
Il criterio potrebbe essere quello di avere due campi
calcolati, uno per i carichi e uno per gli scarichi, ad es:
QtaCaricata = iif(TipoMovimento='Carico';QtaMovimentata;0)
cosi' da avere per ogni record il valore incolonnato da una
parte o dall'altra.
Poi basta fare la somma del campo calcolato.
In ogni caso con il metodo che stavi usando, non avresti
dovuto fare nessun join, bensi' una vera query di unione,
tipo select ... from ... union select ... from ...
...lascia perdere.
Bai


 --
Perchè lasciare perdere proprio adesso??? Se potreste farmi capire meglio
come impostare  i campi calcolati.....forse....sa.....bhe!! riesco a finire
il DB
Salutoni CF

il DB
Ma come meglio!
Te ne ho scritto uno:
QtaCaricata=iif(TipoMovimento='Carico';QtaMovimentata;0)
Vuoi l'altro?
QtaScaricata=iif(TipoMovimento='Scarico';-QtaMovimentata;0)
OK?
