Problema visualizzazione dati nei report

di il
7 risposte

Problema visualizzazione dati nei report

Nel mio database i dati delle tabelle sono espressi in millesimi tipo 0,466...0,560, 0,302.
Ora se nei report voglio far apparire i dati secondo la notazione americana esempio 0,466 dovrebbe diventare .466 o 0,560 dovrebbe apparire come .560, insomma la tipica visualizzazione delle statistiche degli sport americani, come devo fare? Esiste un modo per convertire il formato dati dei millesimi?
Grazie.

7 Risposte

  • Re: Problema visualizzazione dati nei report

    Dreamer456 ha scritto:


    ..
    Ora se nei report voglio far apparire i dati secondo la notazione americana esempio 0,466 dovrebbe diventare .466 o 0,560 dovrebbe apparire come .560, insomma la tipica visualizzazione delle statistiche degli sport americani, ...
    Salvo interventi più autorevoli, l'unica soluzione che mi viene in questo momento è l'uso della funzione Replace dopo aver usato Format.
    Più o meno così
    Replace(Format([campo];".###");",";".")
    Ora inizia il divertimento: questa cosa l'ho scritta dell'origine dati di una casella di testo (di una maschera ma poco conta), dove si usano i separatori "italiani". Potresti creare una funzione in un modulo standard, richiamabile ovunque. Ho i secondi contati (anzi li ho già finiti da parecchio) e non sono riuscito a preparare niente di decente. Forse ci riesci da solo. Ricorda che vba parla solo in inglese.
  • Re: Problema visualizzazione dati nei report

    Philcattivocarattere ha scritto:


    Dreamer456 ha scritto:


    ..
    Replace(Format([campo];".###");",";".")
    Purtroppo non va. Se lo metto come control source del campo del report mi da' riferimento circolare e se lo metto nell'open del report come
    Me.mioCampo = Replace(Format([Me.mioCampo]; ".###");","; ".") mi da' errore di compilazione all'altezza del punto e virgola.
    Ho installata la lingua inglese americana.
    Ho provato anche a sostituire i punto e virgola con la virgola tipo Replace(Format([Me.mioCampo], ".###"),",", ".") ma mi esce errore 2467.
  • Re: Problema visualizzazione dati nei report

    In una query puoi provare:
    
    CDbl(Replace([Campo];".";","))
    
  • Re: Problema visualizzazione dati nei report

    Dreamer456 ha scritto:


    ...
    Purtroppo non va. Se lo metto come control source del campo del report mi da' riferimento circolare...
    L'errore di riferimento circolare si sistema facilmente: cambia il nome della casella di testo (sei in un report, non ci sono campi ma controlli, che possono essere associati o meno a campi di query e/o tabelle), in modo che la casella non abbia lo stesso nome del campo a cui fai riferimento. Se prima il controllo si chiamava NomeCampo cambialo in txtNomeCampo.
    Per i separatori e la sintassi bisogna smanovrare un po'. Su un computer con Access in italiano e le classiche impostazioni italiane a livello di sistema operativo funzionava.
  • Re: Problema visualizzazione dati nei report

    Se faccio una sintesi delle vostre formule Format(CDbl(Replace([campo];",";"."));"\.###") e la metto nel control source del campo..viene.
    Il problema adesso e' un altro. Con i dati tipo 0,422 viene .422 ed e' ok. Ma se ho un dato con zero seguenti tipo 0,310 mi esce .31 e non .310 come vorrei. E 0,300 esce .3 che e' bruttissimo a vedersi.
  • Re: Problema visualizzazione dati nei report

    Prova così :
    Format(CDbl(Replace([campo];",";"."));"\.#00")
  • Re: Problema visualizzazione dati nei report

    max.riservo ha scritto:


    Prova così :
    Format(CDbl(Replace([campo];",";"."));"\.#00")
    Ho provato anche cosi' ma non andava. Alla fine sono andato di forza bruta. Sono andato a cercarmi i dati senza zero tipo .31 o .3 con Len e poi con IIF gli aggiungo a seconda del caso stringhe "0" o "00".

    Alla fine viene cosi' meno di tanto non riesco:
    =IIf(Len(Format(CDbl(Replace([OBP];",";"."));"\.#"))=3;Format(CDbl(Replace([OBP];",";"."));"\.#") & "0";IIf(Len(Format(CDbl(Replace([OBP];",";"."));"\.#"))=2;Format(CDbl(Replace([OBP];",";"."));"\.#") & "00";Format(CDbl(Replace([OBP];",";"."));"\.#")))
Devi accedere o registrarti per scrivere nel forum
7 risposte