Domanda Formattazione campo

superkairo

Utente junior
Original poster
16 Giugno 2021
21
0
1
2016
Salve, ho un problema credo banale ma non riesco a risolvere.
Una query mi crea una tabella, ho questa espressione nella query:

070: Somma(IIf([FASE]='070';([TEMPO]*[QUANTITA]/60);0))

Bene....nella tabella vorrei troncare il conto a 2 decimali.

Non riesco a trovare la sintassi corretta, mi potreste aiutare?

Grazie
 

PASSFIERE

Utente junior
26 Luglio 2022
27
1
3
365 w11
FALSE:
Somma(IIf([FALSE]='070';([TEMPO]*[QUANTITA]/60);0))

PROVA COSI
Somma(IIf([FALSE]='070';([TEMPO]*[QUANTITA]/60);0))
 

Powerwin

VBA Expert
Supermoderatore
17 Marzo 2016
10,553
1,430
745
vicino a Milano
Office 365
PASSFIERE @PASSFIERE stai "imbrattando" i post di risposte spesso sbagliate e non consoni alle discussioni, ti pregherei di stare più attento
 

Sgrubak

Excel/VBA Expert
Expert
10 Marzo 2022
596
106
45
Excel 365
Forse così sembra funzionare 070: Round(Somma(IIf([FASE]='070';([TEMPO]*[QUANTITA']);0));2)
Così effettui un arrotondamento alla seconda cifra decimale, ma cosa è Somma?

P.S: togli quell'apostrofo dal nome del campo QUANTITA. Rischia di causarti un sacco di grattacapi...
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
48,324
4,073
2,445
68
Napoli
Office 365
PASSFIERE @PASSFIERE

Ma prima di proporre soluzioni non le provi per vedere se funzionano?

È inutile scusarsi dopo; è necessario essere sicuri prima della correttezza delle proprie risposte.
 

superkairo

Utente junior
Original poster
16 Giugno 2021
21
0
1
2016
Forse così sembra funzionare 070: Round(Somma(IIf([FASE]='070';([TEMPO]*[QUANTITA']);0));2)
Così effettui un arrotondamento alla seconda cifra decimale, ma cosa è Somma?

P.S: togli quell'apostrofo dal nome del campo QUANTITA. Rischia di causarti un sacco di grattacapi...

Mi piace, chiedo aiuto nessuno mi risponde.....posto la mia soluzione arriva il mondo.... SmileFace. Poi qualcuno mi spiegherà perchè forzando nel REPORT il campo 070 a 2 decimali access se ne sbatta......

A parte gli scherzi....ovviamente ho sbagliato a scrivere, il campo non ha l'accento....anzi il campo ha un nome completamente diverso (quello del DB del gestionale aziendale) ma li rinomino sempre nel forum per leggere in modo migliore la sintassi.

Se non espliciti Somma come puoi eseguire il ([TEMPO]*[QUANTITA]) ???

Il mio campo originale è così:

070: Round(Somma(IIf([CDFAL1]='070';([TLSUL1]*[QTOROO]/60,2);0))) esiste altro modo per ottenere lo stesso risultato?
 

Powerwin

VBA Expert
Supermoderatore
17 Marzo 2016
10,553
1,430
745
vicino a Milano
Office 365
S @superkairo ti rammento che
chiedo aiuto nessuno mi risponde..
Regola nr. 13 Nessun obbligo di risposta
Nessuno - né utenti, né moderatori - è in alcun modo obbligato a rispondere ai messaggi, né tantomeno a farlo entro stringenti limiti temporali arbitrariamente imposti da terzi. Nessuna motivazione di "urgenza" verrà minimamente tenuta in considerazione, se non in negativo.
 

superkairo

Utente junior
Original poster
16 Giugno 2021
21
0
1
2016
Infatti, la mia era una considerazione a voce alta.....mi sembra di non aver scritto mai ed in nessun modo di rispondere ai miei post o fatto crossposting.
Però alcune cose mi fanno pensare....
Tutto qui
 

superkairo

Utente junior
Original poster
16 Giugno 2021
21
0
1
2016
Ecco qui....cmq si ho raggruppamento per fase passando per l'anagrafica articoli e cicli di lavoro


SELECT DEN90DAT_MGART00F.TPSTMA, DEN90DAT_MGART00F.STATMA, DEN90DAT_CLLEG00F.FLSTLC, Round(Sum(IIf([CDFAL1]='070',([TLSUL1]*[QTOROO]/60.2),0))) AS 070, Round(Sum(IIf([CDFAL1]='071',([TLSUL1]*[QTOROO]/60.2),0))) AS 071, Round(Sum(IIf([CDFAL1]='072',([TLSUL1]*[QTOROO]/60.2),0))) AS 072 INTO [TEMPI CENTRI] FROM ((DEN90DAT_OCMOV01F INNER JOIN DEN90DAT_MGART00F ON (DEN90DAT_OCMOV01F.CDDTOO = DEN90DAT_MGART00F.CDDTMA) AND (DEN90DAT_OCMOV01F.CDAROO = DEN90DAT_MGART00F.CDARMA)) INNER JOIN DEN90DAT_CLLEG00F ON DEN90DAT_MGART00F.CDARMA = DEN90DAT_CLLEG00F.CDARLC) INNER JOIN DEN90DAT_CLAN100F ON DEN90DAT_CLLEG00F.CDARLC = DEN90DAT_CLAN100F.CDARL1 GROUP BY DEN90DAT_MGART00F.TPSTMA, DEN90DAT_MGART00F.STATMA, DEN90DAT_CLLEG00F.FLSTLC HAVING (((DEN90DAT_MGART00F.TPSTMA)="1") AND ((DEN90DAT_MGART00F.STATMA)<>"A") AND ((DEN90DAT_CLLEG00F.FLSTLC)="C"));
 

Sgrubak

Excel/VBA Expert
Expert
10 Marzo 2022
596
106
45
Excel 365
Si, di meglio non puoi fare...
Anche se all'effettivo, l'arrotondamento nella tabella nuova mica ti serve. Il dato lo farai arrotondare al report, o quel che è... Però dicevi che non ti funzionava?
Hai impostato il Formato a "Fisso" e le Posizioni decimali a "2"? Dai una lettura alla guida.
 

superkairo

Utente junior
Original poster
16 Giugno 2021
21
0
1
2016
Avevo sicuramente nel report impostato il campo a 2 decimali ma non il formato su fisso.
Appena torno dalle vacanze provo subito e se funziona, anzi deve funzionare, tolgo subito la funzione round.
Una cosa non mi è chiara.... p
erché mi dicevi di usare dsum?
 

Sgrubak

Excel/VBA Expert
Expert
10 Marzo 2022
596
106
45
Excel 365
Suggerivo il Dsum perché avevo capito che eri in ambito report. Mi era sfuggito dal post di apertura che era una creazione tabella. Fosse stato nel report, ci mettevi quella e non impazzivi con la query.