Newsgroup: it.comp.appl.access
Titolo: Problema su query

Buongiorno a tutti, Sono un autodidatta ed ho un problema su una query
che non riesco a risolvere.
Il codice della query è questo:
SELECT Ditte.tipologia, NumerazioniRoberto.[ACCORDO QUADRO],
Sum(NumerazioniRoberto.[IMPORTO Buono]) AS [SommaDiIMPORTO Buono],
Count(NumerazioniRoberto.[IMPORTO Buono]) AS [ConteggioDiIMPORTO
Buono], Ditte.[totale contratto], Ditte.Importo2010, Ditte.DITTA,
Ditte.[Descrizione oggetto], Ditte.contrattovalido,
Count(NumerazioniRoberto.[IMPORTO Ordinativo]) AS [ConteggioDiIMPORTO
Ordinativo], Sum(NumerazioniRoberto.[IMPORTO Ordinativo]) AS
[SommaDiIMPORTO Ordinativo], Ditte.visualizza, Sum([IMPORTO Ordinativo]
+[IMPORTO Buono]) AS speso, Ditte.totaleribassato, ([totaleribassato]-
[Speso]) AS Resto
FROM Ditte INNER JOIN NumerazioniRoberto ON
Ditte.ACCORDOQUADRO=NumerazioniRoberto.[ACCORDO QUADRO]
GROUP BY Ditte.tipologia, NumerazioniRoberto.[ACCORDO QUADRO], Ditte.
[totale contratto], Ditte.Importo2010, Ditte.DITTA, Ditte.[Descrizione
oggetto], Ditte.contrattovalido, Ditte.visualizza,
Ditte.totaleribassato
HAVING (((Ditte.contrattovalido)="attivo") AND ((Ditte.visualizza)
Like "Visualizza"))
ORDER BY Ditte.tipologia, Ditte.[Descrizione oggetto]
WITH OWNERACCESS OPTION;
In pratica la query effettua il raggruppamento dei costi dalla tabella
NumerazioniRoberto in base all'accordo quadro.
La stessa mi restituisce correttamente i dati relativi a :
- TotaleRibassato
- Importo Disponibile (ribassato - consumato)
- Importo Consumato
L'importo consumato è la somma tra le sommatorie degli IMPORTO
Ordinativo e IMPORTO Buono
Fin qui tutto ok e funziona perfettamente.
Il mio problema è che la query effettua un unico conteggio fra IMPORTO
Ordinativo e IMPORTO Buono cioè non mi restituisce un conteggio degli
ordinativi distinto da quello dei buoni, cioè mi restituisce lo stesso
valore per entrambi.
Spero di essere riuscito a spiegare chiaramente il problema e confido
nella Vs, pazienza nonchè nel Vs. buon cuore.
grazie infinite e auguri a tutti di buona Pasqua, anche se in ritardo.


Ciao 'Gnazio :)
Cosi' a sentimento mi vien da dire che ha ragione lui ... tu gli dici
di contare i record, e lui quello fa.
Magari dovrai farti due query in cui conti i record che servono, ma
devi sapere tu come discriminare i record da conteggiare dalla tabella
(e quale sia la chiave in comune per le query).
SELECT QuaMettiLaChiaveComune, Count(NumerazioniRoberto.[IMPORTO
Buono]) AS [ConteggioDiIMPORTOBuono] FROM NumerazioniRoberto WHERE
(QuaMettiLaCondizioneDeiBuoni);
SELECT QuaMettiLaChiaveComune, Count(NumerazioniRoberto.[IMPORTO
Ordinativo]) AS [ConteggioDiIMPORTOOrdinativo] FROM NumerazioniRoberto
WHERE (QuaMettiLaCondizioneDegliOrdinativi);
HTH
Popi

 - Mostra testo citato -
ciao Popi,
grazie per la preziosa consulenza, soprattutto per la velocità nella
risposta che mi ha dato modo di ragionare (per quanto mi sia
possibile) e concentrarmi sul problema.
Allora potrei rispondere di esserci riuscito. Ho fatto due query una
per gli ordinativi (QRY consumato2) ed una per i buoni (QRY consumato)
ed una query totale (QRYtotale).
.
Ho ancora un problema che mi fa sclerare. Capisco di essere out ma non
trovo risposta alla mia ignoranza.
In pratica ho due celle di cui vorrei estrarre la somma che "Lui" vede
come testo, cioè se faccio 12 + 56 il risultato è 1256.
Ti spiego se ne hai voglia o a chiunque possa o voglia aiutarmi, cosa
ho fatto.
Nella mia maschera ho una combinata mi da modo di scegliere
l'ACCORDOQUADRO che mi interessa dalla query (QRYtotale).
sull'evento dopo aggiornamento ho scritto questo codice:
Me.consumato.Value = Format(Me.Elenco403.Column(1), "#,###,##")
Me.consumato2.Value = Format(Me.Elenco401.Column(1), "#,###,##")
Me.Speso = Format(Nz([consumato]) + Nz([consumato2]), "#,###,##")
elenco 403 e elenco 401 sono due combinate (nascoste) che hanno
origine controllo all'ACCORDOQUADRO della query e origine riga :
SELECT [QRY_SOMMATORIE_ACCORDI_QUADRO_ORDINATIVI].[ACCORDOQUADRO],
[QRY_SOMMATORIE_ACCORDI_QUADRO_ORDINATIVI].[SommaDiIMPORTOOrdinativo]
FROM [QRY_SOMMATORIE_ACCORDI_QUADRO_ORDINATIVI];
Spero di essere stato chiaro....grazie comunque dell'aiuto.
Cari saluti.

 come testo, cioè se faccio 12 + 56 il risultato è 1256.
Visto l'esempio mi par di capire che stai parlando del problema di cui
parli nel post "Una somma difficile....in una maschera.": al di la' di
altre considerazioni (netiquette), ti ho gia' risposto li'.
Popi