Newsgroup: it.comp.appl.access
Titolo: Formattazione con valori interi su una query abbastanza complessa

buongiorno a tutti,
mi cospargo il capo di cenere e faccio penitenza per la mia ignoranza.
In una casella combinata il risultato di questa query:
 
SELECT Ditte.DITTA, Ditte.ACCORDOQUADRO, Ditte.[Nr Fornitore], Ditte.[Descrizione oggetto], Ditte.ribasso, Ditte.totaleribassato, IIf([TotBUO]>0,(Nz([TotBUO])+Nz([TotTRANS])),"0") AS ConsumatoSAP, Nz([TotBUO])+Nz([TotORD])+Nz([TotTRANS]) AS ConsumatoTeorico, Nz([totaleribassato])-Nz([ConsumatoTeorico]) AS RimanenzaTEO, Nz([totaleribassato])-Nz([ConsumatoSAP]) AS RimanenzaSAP, Nz([ConsumatoSAP])+Nz([TotTRANS]) AS ConsumatoEFF, Ditte.decorrenza, Ditte.scadenza, Ditte.tipologia, Sum(NumerazioniRoberto.IMPORTOBuono) AS TotBUO, Sum(NumerazioniRoberto.IMPORTOOrdinativo) AS TotORD, Sum(NumerazioniRoberto.TRANSRDA) AS TotTRANS
FROM Ditte LEFT JOIN NumerazioniRoberto ON Ditte.ACCORDOQUADRO = NumerazioniRoberto.ACCORDOQUADRO
GROUP BY Ditte.DITTA, Ditte.ACCORDOQUADRO, Ditte.[Nr Fornitore], Ditte.[Descrizione oggetto], Ditte.ribasso, Ditte.totaleribassato, Ditte.decorrenza, Ditte.scadenza, Ditte.tipologia, Ditte.contrattovalido
HAVING (((Ditte.contrattovalido) Like "attivo"))
ORDER BY Ditte.DITTA, Ditte.ACCORDOQUADRO;
 
ho impostato il formato di ogni campo possibile standard con 0 decimali tranne che per il sottostante "ConsumatoSAP" che non riesco a settare:
ConsumatoSAP: IIf([TotBUO]>0;(Nz([TotBUO])+Nz([TotTRANS]));"0")
 
 
Questo campo, per alcuni valori mi visualizza due, tre, quattro,otto decimali rendendo di fatto impossibile capirne qualcosa.
Qualcuno di buon cuore mi sa dire come "forzare" la formattazione di questo valore ?
 
grazie infinite

un altra cosa che non capisco.
 
La query mi mostra i decimali solo sul campo "ConsumatoSAP"
La casella combinata che ha come origine controllo la query stessa, impostata a decimali = 0, per tutti i campi mi inserisce due o più decimali.
 
grazie infinite a chiunque potrà darmi aiuto.
 

 Qualcuno di buon cuore mi sa dire come "forzare" la formattazione di questo valore ?
 
Se invece nella query veramente vuoi arrotondare i valori a 0 decimali, 
prova così:
 
IIf([TotBUO]>0;Format(Nz([TotBUO])+Nz([TotTRANS]);"0");0)
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 

ciao Karl,
grazie mille per il tuo costante e prezioso aiuto.
 
Nella query ho arrotondato a zero i decimali (con la formula che mi hai suggerito per ConsumatoSAP) e funziona tutto perfettamente (tutte le colonne intere e senza nessun decimale).
 
Nella mia casella combinata invece la combo visulizza due decimali per ciascun campo.
Se metto "0" nella Proprietà formato della casella combinata non mi visualizza piu la colonna Consumato SAP.
Se vado nella combinata in origine riga e apro la query di provenienza mi da un formato standard, molto generale, senza consentirmi di scegliere il numero di decimali.
Posso forzare il formato di qui ?
 
grazie infinite
 

 Posso forzare il formato di qui ?
 
Non capisco.
Prima hai scritto che la combo usa "la query stessa". In questo caso non 
ci sarebbe più nessun decimale.
 
--> ?


Ciao Karl,
grazie per l'attenzione,
Non ci capisco nulla nemmeno io.
La query è perfetta, non visualizza nessun decimale in nessun campo.
La casella combinata, avente come origine dati la query stessa, presenta invece due o più decimali.
 
Preciso che nelle proprietà/formato della combinato alla voce decimali è impostato a "0" mentre la voce formato è vuota, se metto "0" non mi visualizza più il campo "ConsumatoSAP" che è quello che mi hai suggerito :
 
ConsumatoSAP: IIf([TotBUO]>0;Format(Nz([TotBUO])+Nz([TotTRANS]);"0");0)

 ConsumatoSAP: IIf([TotBUO]>0;Format(Nz([TotBUO])+Nz([TotTRANS]);"0");0)
 
Posta la stringa SQL (della query) che fa l'origine dati della combo e 
cosa si trova nelle proprietà "Numero colonne", "Larghezza colonne" e 
"Colonna associata".


 "Colonna associata".
 
SELECT Ditte.DITTA, Ditte.ACCORDOQUADRO, Ditte.[Nr Fornitore], Ditte.[Descrizione oggetto], Ditte.ribasso, Ditte.totaleribassato, IIf([TotBUO]>0,Format(Nz([TotBUO])+Nz([TotTRANS]),"0"),0) AS ConsumatoSAP, Nz([TotBUO])+Nz([TotORD])+Nz([TotTRANS]) AS ConsumatoTeorico, Nz([totaleribassato])-Nz([ConsumatoTeorico]) AS RimanenzaTEO, Nz([totaleribassato])-Nz([ConsumatoSAP]) AS RimanenzaSAP, Nz([ConsumatoSAP])+Nz([TotTRANS]) AS ConsumatoEFF, Ditte.decorrenza, Ditte.scadenza, Ditte.tipologia, Sum(NumerazioniRoberto.IMPORTOBuono) AS TotBUO, Sum(NumerazioniRoberto.IMPORTOOrdinativo) AS TotORD, Sum(NumerazioniRoberto.TRANSRDA) AS TotTRANS
FROM Ditte LEFT JOIN NumerazioniRoberto ON Ditte.ACCORDOQUADRO = NumerazioniRoberto.ACCORDOQUADRO
GROUP BY Ditte.DITTA, Ditte.ACCORDOQUADRO, Ditte.[Nr Fornitore], Ditte.[Descrizione oggetto], Ditte.ribasso, Ditte.totaleribassato, Ditte.decorrenza, Ditte.scadenza, Ditte.tipologia, Ditte.contrattovalido
HAVING (((Ditte.contrattovalido) Like "attivo"))
ORDER BY Ditte.DITTA, Ditte.ACCORDOQUADRO;
 
 
"Numero colonne"    ------> 13
"Larghezza colonne" ------> 5,503cm;3,3cm;0cm;9,801cm;1,401cm;2,2cm;2,2cm;2,2cm;0cm;2cm;2,2cm;2,2cm;3,2cm
"Colonna associata" ------> 2
 
ti preciso infine che qui è presente una proprietà "posizioni decimali" che ho impostato a "0" e che non è possibile lasciare vuota.
 
grazie infinite.

 ti preciso infine che qui è presente una proprietà "posizioni decimali" che ho impostato a "0" e che non è possibile lasciare vuota.
 
Non è possibile di lasciarla vuota, ma per lasciarla "quasi vuota" puoi 
reimpostare il valore predefinito: Automatiche