Newsgroup: it.comp.appl.access
Titolo: stringa di Format percentuale in Query...

non sono molto ferrato in Access e tantomeno in matematica...
(andavo malissimo a squola)......
ho una query con dei vaňori...
i valori che + mi si addicono č....:
Fisso... e mi esce come vorrei io ma con un decimale in + e
senza simbolo % tipo 23,89
invece Percentuale....esce addirittura 2389,56%....
io vorrei questa soluzione..... 23,8 %
come posso ottenerla ???
grazie x l'aiuto....

 wrote in message
news:V3w78.16623$5M4.5...@twister2.libero.it...

Hai provato
SELECT Format(miatabella.miocampo/100, "0.0%") AS miocampo FROM miatabella;
?
HTH
Alessandro

 Alessandro
--------------------------------------------->
ti allego il codice Sql... mi dice "errore di sintassi.... operatore
mancante"...
come mai ???
--------------------------------
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali, QryStatoNutrizionale_Totale.Sovrappeso,
QryStatoNutrizionale_Totale.Obesi, QryStatoNutrizionale_Totale.Totale,
[normali]/[totale]*100,"0,0% AS _Normali, [Sovrappeso]/[totale]*100,"0,0% AS
_Sovrappeso, [obesi]/[totale]*100,"0,0% AS _Obesi
FROM QryStatoNutrizionale_Totale;
--------------------
ciao e grazie....

 ciao e grazie....
Cosě ad occhio direi:
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali, QryStatoNutrizionale_Totale.Sovrappeso,
QryStatoNutrizionale_Totale.Obesi, QryStatoNutrizionale_Totale.Totale,
Format([normali]/[totale],"0.0%") AS _Normali,
Format([Sovrappeso]/[totale]),"0.0%") AS
_Sovrappeso, Format([obesi]/[totale]),"0.0%") AS _Obesi
FROM QryStatoNutrizionale_Totale;
Ciao.
Alessandro

 Alessandro
-------------------------------->
Ok... ti ringrazio Alessandro...
ma toglimi un'ultima curiosità...
come mai nel risultato della query...nel campo Normali il risultato
è correttamente a destra della cella...
mente nel campo Sovrappeso e nel campo Obesi il
risultato me lo posiziona a sinistra ???
spero mi sono spiegato...
ciao ...

 risultato me lo posiziona a sinistra ???
Oddio, sempre ad occhio direi che Normali è numerico mentre gli altri due
sono testo, ma per saperlo bisognerebbe conoscere la query
QryStatoNutrizionale_Totale. Magari prova:
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali,
CLng(QryStatoNutrizionale_Totale.Sovrappeso) AS sovra,
CLng(QryStatoNutrizionale_Totale.Obesi) AS obes,


 > risultato me lo posiziona a sinistra ???
------------------->
purtroppo non funziona...rimangono sempre al loro posto i valori...
cmq... sappi che anche il tuo codice sql dava un errore di troppe
parentesi tonde... ed ho dovuto eliminare quelle  di
Sovarppeso e Obesi... ???
cmq.... non fa niente... già è tanto questo risultato...
era + per curiosità...
grazie...


Purtroppo l'utilizzo della funzione format (almeno in questo caso) ti
restituisce una stringa; per una verifica prova a scrivere
typename(Format([Sovrappeso]/[totale],"0.0%")) e guarda cosa ti
restituisce...
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
------------------------------>
diavolo... niente da fare.... ti posto il codice... ho scritto bene ???
-------------------------------
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali, QryStatoNutrizionale_Totale.Sovrappeso,
QryStatoNutrizionale_Totale.Obesi, QryStatoNutrizionale_Totale.Totale,
(Format([normali]/[totale],"0.0%")) AS _Normali,
(Format([Sovrappeso]/[totale], "0.0%")) AS _Sovrappeso,
(Format([obesi]/[totale], "0.0%")) AS _Obesi
FROM QryStatoNutrizionale_Totale;
----------------------------
Ciao....


La sintassi sembra giusta ma il "...niente da fare.." significa che
typeName(format...) ti restituisce una stringa o no? Se ti restituisce una
stringa allora devi abbandonare l'idea di formattare il dato nella query
(almeno per visualizzare il percentuale) e farti restituire solo i valori
(numerici stavolta) giusti. Probabilmente il problema che ti si presenta per
la realizzazione del grafico (post più recente) è derivato da questo.
Magari utilizza due campi calcolati, uno formattato con il percentuale
l'altro con il valore numerico...
Ciao.
--
Sergio MAZZA

 Sovarppeso e Obesi... ???
Questo mi fa sospettare che sia il secondo caso. Forse, allora:
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali,
QryStatoNutrizionale_Totale.Sovrappeso,
QryStatoNutrizionale_Totale.Obesi,
QryStatoNutrizionale_Totale.Totale,
CLng(Format([normali]/[totale],"0.0%"))  AS _Normali,
CLng(Format([Sovrappeso]/[totale]),"0.0%"))  AS
_Sovrappeso, CLng(Format([obesi]/[totale]),"0.0%")) AS _Obesi
FROM QryStatoNutrizionale_Totale;
D'altra parte non capisco perchè il problema non ce l'hai anche sul campo
_Normali... Qualcosa mi sfugge...
Alessandro

 Alessandro
------------------------->
ma in effetti non riesco a capirlo neanche io questo strano problema...
il caso si riferisce solo a  _Sovrappeso ed _Obesi...
_Normale è Ok....
ho riprovato a mettere il tuo codice sopra riportato...
ma il messaggio è sempre quello di parentesi chiuse in eccesso..
ed anche rimediando il codice il problema rimane...
come diceva Sergio Mazza... forse anche da questo problema
deriva il fatto che riesco a fare un Report Grafico solo se aggiungo
un valore percentuale... e non tutti e tre...
a questo punto ... mi pare opportuno restituire solo dei valori
numerici in base percentuale ...se possibile.... senza il segno %...
e ricavarmi il segno percentuale durante la composizione del grafico...
che dite ????
altre idee ???
--
SuperPippo®   [;o))

 ed anche rimediando il codice il problema rimane...
Ho riguardato con più attenzione la query, ed in effetti ci sono un paio di
parentesi che non c'entrano, e sono solo sui due campi incriminati. Inoltre
ho realizzato di averti detto una cosa sbagliata: infatti la funzione CLng
non può essere usata con un numero formattato "0.0%". Concludendo, se vuoi
il simbolo % temo che dovrai rassegnarti ad avere delle stringhe (allineate
a sin) e non so se potrai usarle per i grafici, se invece puoi fare a meno
del simbolo %, allora non dovresti avere problemi nè di allineamento nè di
calcoli nei grafici:
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali,
QryStatoNutrizionale_Totale.Sovrappeso,
QryStatoNutrizionale_Totale.Obesi,
QryStatoNutrizionale_Totale.Totale,
Format([normali]/[totale],"0.0%")  AS _Normali,
Format([Sovrappeso]/[totale],"0.0%")  AS
_Sovrappeso, Format([obesi]/[totale],"0.0%") AS _Obesi
FROM QryStatoNutrizionale_Totale;
oppure
SELECT QryStatoNutrizionale_Totale.Sesso,
QryStatoNutrizionale_Totale.Normali,
QryStatoNutrizionale_Totale.Sovrappeso,
QryStatoNutrizionale_Totale.Obesi,
QryStatoNutrizionale_Totale.Totale,
([normali]/[totale]*100)  AS _Normali,
([Sovrappeso]/[totale]*100)  AS _Sovrappeso,
([obesi]/[totale]*100) AS _Obesi
FROM QryStatoNutrizionale_Totale;
HTH.
Alessandro