Newsgroup: it.comp.appl.access
Titolo: formato data incorretto

Ragazzi problemuccio,
perchè quando esporto in xls con questo codice le date vengono scritte 
al contrario.....
Sub AutomazioneAccessExcel()
    Dim dbLocale As Database
    Dim Informazioni As DAO.Recordset
    Dim wbkNuovo As Excel.Workbook, wksNuovo As Excel.Worksheet
    Dim rngCorrente As Excel.Range
    Dim NomeFile As String
    Dim Percorso As String
    On Error GoTo Errore_AutomazAccessExcel
    'Apre come recordset di tipo snapshot la tabella Movimenti
    Set dbLocale = CurrentDb()
    Set Informazioni = dbLocale.OpenRecordset _
    (" SELECT  Orders, Corriere, Data, [Pronta IL], Arrivo, Ditta, 
Cliente, Annotazioni, Truck from Informazioni where Data Like '*06' ", 
dbOpenSnapshot)
    'Attiva Excel e apre una nuova cartella di lavoro
    Set appExcel = New Excel.Application
    Set wbkNuovo = appExcel.Workbooks.Add
    Set wksNuovo = wbkNuovo.Worksheets.Add
    'Rende visibile Excel
    appExcel.Visible = True
   'Crea le intestazioni delle colonne
   With wksNuovo
    .Cells(1, 1).Value = "ORDERS"
    .Cells(1, 2).Value = "CURRIERS"
    .Cells(1, 3).Value = "DATE"
    .Cells(1, 4).Value = "DATE READY"
    .Cells(1, 5).Value = "DATE ARRIVALS"
    .Cells(1, 6).Value = "FACTORY"
    .Cells(1, 7).Value = "CLIENT"
    .Cells(1, 8).Value = "INFORMATION"
    .Cells(1, 9).Value = "TRUCK"
    End With
   'Crea nel nuovo foglio di lavoro un intervallo
   'chiamato rngCorrente che va dalla cella A2 alla
   'cella Cx dove x è il numero dei record presenti
   'nel recordset
   Set rngCorrente = wksNuovo.Range(wksNuovo.Cells(2, 1), _
    wksNuovo.Cells(2 + Informazioni.RecordCount, 3))
   'Copia i valori del recordset nell'intervallo
   rngCorrente.CopyFromRecordset Informazioni
   'Crea la formula per calcolare la somma della colonna Importo
   'wksNuovo.Cells(2 + OrderSituation.RecordCount, 3).Value = _
    '"=SUM(C2:C" & LTrim(Str(OrderSituation.RecordCount) + 1) & ")"
   'Assegna alla colonna Importi il formato Valuta
   'wksNuovo.Columns("C").NumberFormat = "$ #,##0"
   'Dimensiona automaticamente le colonne
   'sulla larghezza massima di ciascuna
   wksNuovo.Columns("A:V").AutoFit
   Percorso = "C:\Documents and Settings\f_join\Desktop\ANNA\"
   NomeFile = "Informazioni_" & Format(Now(), "ddmmyyyy") & ".xls"
   NomeFile = Percorso & NomeFile
    wksNuovo.SaveAs NomeFile
   'Chiude il recordset
   Informazioni.Close
   Exit Sub
Errore_AutomazAccessExcel:
   Beep
   MsgBox "Si è verificato il seguente errore di automazione:" & _
    vbCrLf & Err.Description, vbCritical, "Errore Automazione!"
   Set appExcel = Nothing
End Sub
mi trovo le date al posto di 20/12/2006 li trovo 12/20/2006.
dove sbaglio? come si fa ad impostare la proprità format delle date.

 dove sbaglio? come si fa ad impostare la proprità format delle date.
cerca nell'help la funzione Format(), così hai la panoramica completa.
Comunque in breve è:
format(data;"formato")
dove "formato" è una stringa, che ha diversa sintassi a seconda se
scrivi la funzione in un controllo oppure in un modulo. Anche il
separatore ";" si usa solo nei controlli, nel codice devi usare la
virgola ",".
ciao,
Panathos

Panathos ha spiegato il 07/11/06 :

Grazie ,
ho risolto cosi:
'wksNuovo.Columns("C").NumberFormat = "dd-mm-yyy"
senbra funzionare vediamo e speriamo....