passaggio dati Access Excel

Anonimo
2017-01-09T10:57:38+00:00

Buongiorno,

dovrei passare i dati da un database Access (Office 365 home) ad un foglio Excel (stessa versione del programma), per fare dei grafici.

Sono 595.580 records. Se seleziono esporta su Excel mi viene fuori una finestra che mi avvisa che ho selezionato un numero di record maggiore di quello che è possibile copiare negli appunti.

Questo mi succede sia su un PC con 8 GB di ram che su uno con 64 GB di ram.

E' un limite"fisico" del programma o è questione di memoria disponibile?

Grazie

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2017-01-09T18:38:39+00:00

ciao Nicolo,

credo tu sia incappato in questo :

https://support.microsoft.com/it-it/kb/924681

problema riproducibile anche con Access 2010 pro.

prova con questa mini automazione, personalizzando il nome della tabella, e il path di destino.

Copia tutto in un modulo standard e lancia la sub export, che una volta perfezionata esporta la tabella in Excel la salva e ti mostra il file esportato.

Testato su 1,000,000 di righe, tutto ok e Access 2010 pro, non Home, che non possiedo, ma credo funzioni ugualmente...

Facci sapere.

Ciao, Sandro.

Option Compare Database

Option Explicit

Private XlsClass           As Object

Public Sub export()

On Error GoTo errorHandler

    If Not isXLSRunnning() Then Exit Sub

    Dim wbk                As Object

    Dim wsh                As Object

    Const strWkPath = "f:"                      ' <<< personalizzare

    Const strWkName = "tabella1.xlsx"    ' <<< personalizzare

    Const strTbl = "tabella1"

    Const cStrClass = "Excel.Application"

    DoCmd.TransferSpreadsheet transferType:=acExport, _

                              spreadSheettype:=acSpreadsheetTypeExcel12Xml, _

                              tableName:=strTbl, _

                              FileName:=strWkPath & strWkName, _

                              hasFieldNames:=-1

    Set wbk = XlsClass.Workbooks.Open(strWkPath & strWkName)

    Set wsh = wbk.worksheets.Item(1)

    With XlsClass

            .Visible = True

            AppActivate .Caption

           .ScreenUpdating = False

           .Calculation = -4135  ' xlManual

        With wsh

            .Cells.EntireColumn.AutoFit

        End With

        .ScreenUpdating = True

        .Calculation = -4105     'xlAutomatic

        .displayAlerts = True

         wbk.Save

    End With

exitErrorHandler:

    Set wsh = Nothing

    Set wbk = Nothing

    Set XlsClass = Nothing

    Exit Sub

errorHandler:

    With Err

            MsgBox "ERR#" & CStr(.Number) _

                & vbNewLine & .Description _

                , vbOKOnly Or vbCritical

     End With

     Resume exitErrorHandler

End Sub

Private Function isXLSRunnning() As Boolean

     On Error Resume Next

     Set XlsClass = GetObject(, "Excel.Application")

     Err.Clear

    If XlsClass Is Nothing Then

         Set XlsClass = CreateObject("Excel.Application")

         XlsClass.Visible = False

     End If

     If Err <> 0 Then

         MsgBox "qualcosa non va...." & _

             Err.Description, vbCritical, "Warning"

         isXLSRunnning = False

     Else

         isXLSRunnning = True

     End If

 End Function

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2017-01-09T21:29:05+00:00

    Avevo iniziato a documentarmi tempo fa, lasciando perdere per mancanza di tempo.

    Io ti consiglio di provare Power BI, dovrebbe sostiuire tutto. Parti con la guida, iscriviti al gruppo, scarica il sw. Vedrai che è molto valido e, credo, ti farà quasi dimenticare Excel.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-01-09T20:58:26+00:00

    Ciao Francesco,

    ho sentito parlare di questo software e l'ho anche già scaricato ma mi ero fermato perchè non riuscivo ad utilizzarlo, ora grazie alla tua guida probabilmente il tutto mi sarà più facile.

    Ne approfitto per chiederti se sai nulla della funzione Excel "Power Pivot". Ho provato ad utilizzarla seguendo la guida in linea di Excel, ma i risultati non sono quelli descritti.

    Grazie

    Nicolò

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-01-09T20:55:51+00:00

    Grazie Sandro,

    ho provato la tua procedura e tutto funziona bene. Comunque ho risolto il problema in altra maniera, infatti la questione originale era l'ordinamento di record in una tabella pivot proveniente dal mio gestionale che Excel non interpretava bene come tipo di dati. Pensavo che fosse questa la ragione del malfunzionamento dell'ordinamento e per questo l'avevo importata in Access (per cambiare i tipi di dato errati), ma poi "pastrocchiando un pò, ho scoperto che il problema non dipendeva affatto da quello per cui l'esportazione da Access in Excel non è più necessaria.

    Terrò comunque la tua procedura per usi futuri.

    Ancora grazie.

    Nicolò

    La risposta è stata utile?

    0 commenti Nessun commento