RISOLTO: Formattazione colonna combobox

di Mailman il
6 risposte

Buongiorno,

ho una subform in visualizzazione foglio dati in cui inserisco le righe d'ordine. Ho un controllo textbox in cui inserisco il prezzo cadauno del codice da ordinare. Il controllo ed il relativo campo in tabella sono formattati come “valuta” e numero decimali 3.

Ho cambiato la textbox in una combobox perche' voglio vedere anche lo storico delle quotazioni pregresse per cui ho creato una query che mi filtra il codice in ordine e mi mostra le quotazioni precedenti (se ce ne sono) per data ordine decrescente.

Il problema e' che la combobox aperta mi mostra i prezzi con solo 2 decimali, mentre chiusa ne mostra 3. 

Ho cambiato la formattazione della combo come si vede di seguito ma non e' sufficente:

C'e' modo di cambiare l'impostazione formato della colonna quando la combo e' aperta?

Grazie in anticipo

6 Risposte

  • Prova a allargare le dimensioni di “Larghezza colonne”.

  • Quello che desceivi è normale, devi formattare l'origine della combo, quindi andare nel predicato SQL della Combo ed applicare la formattazione nel campo calcolato.

  • 13/09/2023 - @Alex ha scritto:


    Quello che desceivi è normale, devi formattare l'origine della combo, quindi andare nel predicato SQL della Combo ed applicare la formattazione nel campo calcolato.

    Come origine della combo ho una query realizzata con il wizard di Access. 

    Il tuo suggerimento quindi e' per sostituire la query con la stringa SQL inserendo anche la formattazione del campo valuta?

    Scusa ma su queste cose sono decisamente inesperto…

  • La query aveva questo predicato SQL:

    SELECT tblDOdettagliordine.VALtabDOimportocad, tblDDddtfornitori.DATAtabDDdataddtfornitore
    
    FROM tblDOdettagliordine LEFT JOIN (tblDDddtfornitori RIGHT JOIN tblCOconsegnefornitori ON tblDDddtfornitori.IDtabDDid = tblCOconsegnefornitori.NUMtabCOIDtabDDid) ON tblDOdettagliordine.IDtabDOid = tblCOconsegnefornitori.NUMtabCOIDtabDOid
    WHERE (((tblDOdettagliordine.NUMtabDOIDtabEVid)=[Maschere]![frmOCordinicostamp]![sfrmDOdettagliordineacquisto]![sfrmDOcboNUMtabDOIDtabEVid]))
    ORDER BY tblDDddtfornitori.DATAtabDDdataddtfornitore DESC;

    Ho modificato nel modo seguente ma il campo VALtabDOimportocad mi da errore. Sicuramente ho commesso qualche errore ma non saprei dove intervenire…

    SELECT FORMAT (tblDOdettagliordine.VALtabDOimportocad, 'C3', 'it-IT') AS VALtabDOimportocad, tblDDddtfornitori.DATAtabDDdataddtfornitore
    FROM tblDOdettagliordine LEFT JOIN (tblDDddtfornitori RIGHT JOIN tblCOconsegnefornitori ON tblDDddtfornitori.IDtabDDid = tblCOconsegnefornitori.NUMtabCOIDtabDDid) ON tblDOdettagliordine.IDtabDOid = tblCOconsegnefornitori.NUMtabCOIDtabDOid
    WHERE (((tblDOdettagliordine.NUMtabDOIDtabEVid)=[Maschere]![frmOCordinicostamp]![sfrmDOdettagliordineacquisto]![sfrmDOcboNUMtabDOIDtabEVid]))
    ORDER BY tblDDddtfornitori.DATAtabDDdataddtfornitore DESC;
    
  • 13/09/2023 - @Alex ha scritto:


    Non ho capito come usi Format… ed io userei la Funzione FormatCurrency

    Avevo incrociato due esempi trovati online per T-SQL ma sicuramente non ne ho interpretato correttamente l'uso.

    https://learn.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql?view=sql-server-ver16

    https://database.guide/how-to-format-numbers-as-currency-in-sql-server-t-sql/

    Grazie come sempre per l'help, risolto come da Tuo suggerimento.

    SELECT FORMATCURRENCY(tblDOdettagliordine.VALtabDOimportocad,3) AS VALtabDOimportocad,...
Devi accedere o registrarti per scrivere nel forum
6 risposte