Decimali fissi in query pass-through da mysql

di il
12 risposte

Decimali fissi in query pass-through da mysql

Ho dei dati numerici mysql che vorrei presentare in  una query pass-through con due decimali fissi, anche se 00, mantenendo però il campo numerico. Questo per poter esportare in excel ottenendo una colonna numerica. Se uso la funzione MySql FORMAT ottengo un valore stringa che excel gestisce come stringa. 

12 Risposte

  • Re: Decimali fissi in query pass-through da mysql

    SELECT ROUND(campoX, 2) AS campoXarrotondato
    FROM tuatabella;

    dove 2 sta per i decimali che vuoi.

  • Re: Decimali fissi in query pass-through da mysql

    25/07/2025 - Catafirro ha scritto:

    due decimali fissi, anche se 00

    Ma non c'entra nulla la query. Seleziona il campo normalmente. Poi formatti la cella in Excel con il numero di decimali che ti serve.

  • Re: Decimali fissi in query pass-through da mysql

    Catafirro questa sezione e' di Access, per Mysql o eventualmente Excel ci sono delle sezioni apposite nel forum...

  • Re: Decimali fissi in query pass-through da mysql

    25/07/2025 - Catafirro ha scritto:

    Ho dei dati numerici mysql che vorrei presentare in  una query pass-through con due decimali fissi, anche se 00, mantenendo però il campo numerico. Questo per poter esportare in excel ottenendo una colonna numerica. Se uso la funzione MySql FORMAT ottengo un valore stringa che excel gestisce come stringa. 

    Come hai definito il campo nella tabella in MySQL/MariaDB? Potresti per caso definirlo come DECIMAL ?

  • Re: Decimali fissi in query pass-through da mysql

    Grazie per le risposte. Il problema è di Access, poiché è in Access che ho la mia query pass-through che voglio esca con i campi numerici a due decimali fissi. Il trucco di fare il ROUND(xxxx,2) che mi aveva suggerito anche chatGpt non funziona, Access lo ignora. Per ora ho trovato questa soluzione, purtroppo macchinosa: inglobare la query pass-through in una query normale e inserire i format sui campi che interessano. In sostanza devo raddoppiare le query. I campi di origine sono DECIMAL(14,2)

    Formattare le colonne in excel si può, ma i clienti non sono contenti, poiché si deve sempre ripetere l'operazione a ogni export, a meno di non usare dei modelli da riempire, che peraltro faccio per i casi complessi.

  • Re: Decimali fissi in query pass-through da mysql

    Ma se passi come valore Decimale un valore con la Virgola potrebbe non essere presa... il separatore decimale dipende dai Regional Settings, e anche se in Access Visualizzi la Virgola magari serve poi il punto... per questo solitamente quando si usano numeri decimali nelle Query Actions, si converte con str(valore)... dove la funzione str(...) non è una semplice conversione in stringa, ma nel convertire adatta i regional Settings. 

    Non so se ho correttamente inteso il problema.

  • Re: Decimali fissi in query pass-through da mysql

    I decimali vengono presi correttamente, ma vengono visualizzati nella query access soltanto se ci sono.

    La stessa cosa nell'export excel

    I clienti vorrebbero invece questo

    Tra l'altro ieri ero riuscito a ottenerlo con una query contenitore contenente i format ma adesso non riesco più. Non ricordo come avevo fatto, ci riproverò.

  • Re: Decimali fissi in query pass-through da mysql

    Quando esporti nella query formatta il campo con 2 decimali usando format stessa cosa sulla textbox quando visualizzi...

  • Re: Decimali fissi in query pass-through da mysql

    In questo modo ho un campo stringa, allineato a sinistra in excel

  • Re: Decimali fissi in query pass-through da mysql

    25/07/2025 - Catafirro ha scritto:

    si deve sempre ripetere l'operazione a ogni export

    Se non ti è comodo usare un modello, potresti sempre valutare di formattare l'xlsx con il VBA. Grosse alternative non ne hai purtroppo. Il problema per me resta lato Excel e serve agire li. Access fa tutto giusto: legge un numero e rende un numero. È Excel che poi deve formattare il numero per farlo visualizzare come l'utente vuole.

  • Re: Decimali fissi in query pass-through da mysql

    26/07/2025 - Catafirro ha scritto:

    In questo modo ho un campo stringa, allineato a sinistra in excel

    Scusa, ma tu fai confusione tecnicamente, "1.758,00" è una rappresentazione grafica formattata non è il numero, è ovvio sia così, e dovresti pertanto prevedere la Formattazione della Cella in Excel con la visualizzazione delle 2 Cifre decimali... 

    Così come formatti la TextBox per vedere le 2 cifre decimali, così come formatti il Campo nella tabelle per vedere le 2 cifre decimali... anche la cella di Excel ha le stesse esigenze.

  • Re: Decimali fissi in query pass-through da mysql

    Il foglio excel viene creato al volo dall'export access, l'utente è costretto a intervenire poi formattando le colonne numeriche con i due decimali voluti, il che è scomodo, soprattutto quando le colonne sono tante. Da una query classica access il risultato è ottenibile in automatico, sia avendo un campo con format dichiarato in tabella, sia, se i campi sono calcolati, dichiarando il format nel disegno della query. Con il caso pass-through questo non è ottenibile.

Devi accedere o registrarti per scrivere nel forum
12 risposte