Newsgroup: it.comp.appl.access
Titolo: VBA: Gestire il formato delle celle di Excel durante l'export dei dati da Access

Ciao al NG,
Stò cercandodi esportare i dati presenti nei campi di una tabella di access,
nelle celle di un foglio di excel, tramite codice VBA. Ho il problema del
formato dei dati. I campi stringa ed i numerici vengono esportate
correttamente, cosa che non succede per le date. In realtà le date vengono
esportate come numeri, poi per riconvertirle in date debbo manualmente agire
sul formato delle celle di excel (utilizzando il tab Numero della finestra
Formato Celle), e quindi il tutto funziona correttamente. Come debbo fare
per gestire il formato delle celle di excel, in automatico utilizzando il
codive VBA, prima di copiarvi il contenuto dei campi di access. Spero di
essere stato chiaro.
(Uso Office 2003)
Di seguito il codice che uso.
Private Sub excel2_Click()
    ' Dichiarazioni Variabili
    Dim excApp As Object
    Dim excDoc As Object
    Dim blOpen As Boolean
    Dim con1 As ADODB.Connection
    Dim recSet1 As ADODB.Recordset
    Dim strSQL As String
    Dim i As Integer
    ' Inizializzazione Variabili connessione DB
    Set con1 = CurrentProject.Connection
    Set recSet1 = New ADODB.Recordset
    ' Popolazione Recordset con SQL
    strSQL = "select * from tab_vagoni_ripuliti"
    recSet1.Open strSQL, con1
    ' Gestione Errori
    On Error Resume Next
    blOpen = True
    ' Apertura Applicazione Excel
    Set excApp = GetObject(, "Excel.Application")
    If Err.Number = 429 Then
        Set excApp = CreateObject("Excel.Application")
        blOpen = False
        Err.Number = 0
    End If
    On Error GoTo gestErrori
    Set excDoc = excApp.Workbooks.Add
    excApp.Visible = True
    ' Popolazione celle di excel con dati fissi e con dati provenienti dal
recordset
    i = 1
    Do Until recSet1.EOF
        excDoc.Worksheets(1).Cells(i, 2) = recSet1.Fields("ID_Carro")
        excDoc.Worksheets(1).Cells(i, 3) = recSet1.Fields("Nr_Vagone")
        excDoc.Worksheets(1).Cells(i, 5) =
recSet1.Fields("Campo_Applicazione")
        excDoc.Worksheets(1).Cells(i, 6) = recSet1.Fields("Stato_Vagone")
        excDoc.Worksheets(1).Cells(i, 10) = recSet1.Fields("Tara")
        excDoc.Worksheets(1).Cells(i, 11) = recSet1.Fields("Carico_A")
        excDoc.Worksheets(1).Cells(i, 12) =
recSet1.Fields("Interasse_Dei_Carrelli")
        excDoc.Worksheets(1).Cells(i, 13) =
recSet1.Fields("Interasse_Del_Carrello")
        excDoc.Worksheets(1).Cells(i, 14) =
recSet1.Fields("Lunghezza_Compresa_Respingenti")
        excDoc.Worksheets(1).Cells(i, 15) =
recSet1.Fields("Anno_Costruzione_Sottostruttura")
        excDoc.Worksheets(1).Cells(i, 16) = recSet1.Fields("Data_Rev")
        excDoc.Worksheets(1).Cells(i, 17) = recSet1.Fields("Data_RID")
        recSet1.MoveNext
        i = i + 1
    Loop
    ' Disconnessione dal DB
    recSet1.Close
    con1.Close
    ' Cancellazione Variabili dalla Memoria ed uscita dalla sub
esci:
    Set con1 = Nothing
    Set recSet1 = Nothing
    Set excDoc = Nothing
    Set excApp = Nothing
    Exit Sub
gestErrori:
    MsgBox Err.Number & " - " & Err.Description
    GoTo esci
End Sub
Grazie per l'aiuto.
Charliebo59

        excDoc.Worksheets(1).Cells(i, 17) = recSet1.Fields("Data_RID")
    excDoc.Worksheets(1).Cells(i, 17).NumberFormat = "m/d/yyyy"
ciao
Riccardo 

 ha scritto nel messaggio
news:d33ahp$br1$1...@news.panservice.it...

Grazie Riccardo,
Ora funziona perfettamente !!
Charliebo59