Comando docmd.transferspreadsheet non mantiene il formato della data

di Didacus il
5 risposte

Buongiorno

Sto usando il comando docmd.transferspreadsheet per esportare una query in un file excel.

DoCmd.TransferSpreadsheet acExport, , "QueryAccess", percorsoDirExcel & "/" & “FileExcel.XLSX”

Il comando funziona perfettamente e mi crea il file excel con un piccolo problema, il formato della data di due campi data.

In origine il formato della tabella e della relativa query e' del tipo data breve (esempio 22-gen-15) , mentre nel file excel esportato il formato e' quello classico (esempio 22/01/15).

C'e' un modo di controllare questa cosa ?

Faccio notare che se uso il modo classico di esportazione da access il formato di uscita della data e' corretto.

Facendolo invece da VBA con il comando DoCmd.TransferSpreadsheet il formato non viene mantenuto.

Qualcuno sa se questo comando ha la possibilita' di controllare il formato delle colonne, o e' semplicemente un limite di questo comando?

Grazie

5 Risposte

  • Stai confondendo il formato Data, dal Formato di VISUALIZZAZIONE che è una specifica rappresentazione grafica di un dato.

    Quindi se esporti una Data, questa ha il formato Data, che poi la Query la mostri in formato dd-mmm-yy è un dettaglio che devi reimpostare nella colonna di Excel, oppure perdere il DataType e forzare al riconoscimento del campo Testo, basta mettere l'apicetto davanti, ma poi Excel non lo riconosce come Data…

  • Ciao Alex

    innanzitutto grazie della risposta. In effetti hai ragione si tratta di un problema di visualizzazione e non di formato (non sono stato preciso).

    La cosa fastidiosa come accennato e' che se uso il comando esporta dal menu di access viene mantenuta anche la visualizzazione originale di Data breve che ho nella tabella e nella relativa query, mentre con il comando docmd.transferspreadsheet no.

    Correggero' la visualizzazione nei file excel che esporto in automatico. 

    Grazie ancora

    Diego

  • Ma sei certo che il comando Esporta sia equivalente ad usare TransfertSpreadsheet e non Outputto…?

    Sub OutputTo(ObjectType As AcOutputObjectType, [ObjectName], [OutputFormat], [OutputFile], [AutoStart], [TemplateFile], [Encoding], [OutputQuality As AcExportQuality = acExportQualityPrint])
        Membro di Access.DoCmd

    https://learn.microsoft.com/it-it/office/vba/api/access.docmd.outputto?f1url=%3FappId%3DDev11IDEF1%26l%3Dit-IT%26k%3Dk(vbaac10.chm4165)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue

  • Ciao Alex

    a dir la verita' conosco poco questo comando perche' ho quasi sempre usato TransfertSpreadsheet, ma ti ringrazio del suggerimento.

    Nei prossimi giorni cerchero' di studiarlo e vediamo se riesco a risolvere.

    Ti ringrazio ancora e cerchero' di aggiornarti al piu' presto

    Stay tuned !

    Diego

  • Ciao Alex

    good news

    Provato il nuovo comando e funziona benissimo. il formato viene mantenuto correttamente 

    Grazie mille del suggerimento.

    Mi aspettano un certo numero di modifiche ma ne vale la pena

    Grazie

    Diego

Devi accedere o registrarti per scrivere nel forum
5 risposte