Formato data

di il
3 risposte

Formato data

In una tabella, su un campo Data, ho il formato gg/mm/aaaa. Nella tabella vorrei che rimanesse così.
Quando importo questo campo in una query, vorrei che mi apparisse aaaa/mm/gg, oppure aaaammgg (senza gli slash).
Cosa devo impostare nella query per ottenere questo risultato?

3 Risposte

  • Re: Formato data

    Devi creare un Campo aggiuntivo nel quale Formatti la VISUALIZZAZIONE.
    La formattazione della Data avviene con la Funzione FORMAT.
    
    Format$([CampoData],"yyyymmdd")
    Attenzione che quando usi queste funzioni nelle Query, i caratteri di separazione parametri cambiano, e l'accezione Anglosassone deve essere sostituita con quella Italiana.
    "aaaammgg"

    In sostanza, per chiarezza... se componi la Query da QBE STRUTTURA, ed inserisci il nuovo campo con il generatore di Espressioni devi usare la versione IT:
    
    NuovaData: Format$([Data];"aaaammgg")
    se invece componi da QBE SQL la stringa completa allora serve l'INGLESE
    
    SELECT *, Format$([Data],"yyyymmdd") AS NuovaData
    FROM T2
    Come vedi, come detto sopra, oltre alla versione IT/EN cambiano i riferimenti del separatore... [,] piuttosto che [;]...

    Purtroppo sono cose che spesso fanno perdere la bussola... ma così funziona... e così dobbiamo tenercelo...!
    Ciao
  • Re: Formato data

    A me in "visualizzazione struttura query" ha funzionato soltanto con una di queste sintassi:
    NuovaData: Format([Data];"yyyymmdd")
    NuovaData: Format$([Data];"yyyymmdd")
    ma quale sarebbe la differenza fra Format e Format$ ?
  • Re: Formato data

    Si come ti dicevo se accedi al QBE dove leggi il codice SQL è come dici... se invece componi il CRITERIO dal GENERATORE di ESPRESSIONI, la sintassi è in ITALIANO "aaaammgg", ma aprendo il QBE(SQL) lo vedrai ancora in formato EN "yyyymmdd".

    Per quanto riguarda Format/Format$... è una finezza...
    In sostanza, la stessa problematica si associa a LEFT/LEFT$, MID/MID$....ecc...

    Se apri il visualizzatore OGGETTI e verifichi le 2 Funzioni ci si accorge che sono IDENTICHE, tranne che nel DataType restituito.
    Le dichiarazioni con [$] restituiscono un DataType=STRING, mentre le altre un Variant, ma essendo una Stringa, forza il CASTING del DataType quindi alla fine hai sempre una Stringa.

    Alla fine la differenza è che con la [$] il sistema IMPONE la conversione in modo ESPLICITO e DIRETTO, mentre senza la [$] il sistema impone la conversione in modo INDIRETTO, solo nel momento in cui vede che il risultato va assegnato ad una Variabile di tipo Stringa.

    Come dicevo sono finezze... ma io le reputo utili.
Devi accedere o registrarti per scrivere nel forum
3 risposte