Importazione dati da excel senza collegamento

di il
6 risposte

Importazione dati da excel senza collegamento

Buongiorno a tutti ecomplimenti per il forum all'interno del quale trovo spesso brillanti soluzioni aproblematiche applicative.
Ecco orala necessità contingente:
Ho elaborato una macro "guidata" (Azioni di Access) con la quale acquisisco i dati da Excel all'interno di una tabella Access (Azione ImportaEsportaFogliodiCalcolo). Il problema è che il file da cui acquisisco i dati ha all'interno delle operazioni (es. Prende i dati da un altro foglio excel per elaborarli con le formule) che se non apro prima il file stesso non vengono eseguite, e quindi i dati che acquisisco con l'Azione ImportaEsporta non sono aggiornati !

Potete darmi una mano ?

Grazie

6 Risposte

  • Re: Importazione dati da excel senza collegamento

    Non mi pare tu abbia molte scelte:
    il file Excel deve essere reso stand-alone, PRIMA di essere importato, in modo che contenga valori, non formule.
  • Re: Importazione dati da excel senza collegamento

    Ciao, io ho una situazione simile e per risolverla apro da codice il file excel (invisibile), in maniera tale da aggiornarne i riferimenti, importo i dati, salvo e chiudo. Solo che c'è molto VBA dietro... Come te la cavi?
  • Re: Importazione dati da excel senza collegamento

    Qualche "cosina" riesco a farla ... se hai una bozza sulla quale lavorare (tipo modificando i riferimenti del file la path ecc.) potrei tentare di utilizzare la tua stessa soluzione ...
    Grazie
  • Re: Importazione dati da excel senza collegamento

    Ciao, quello che segue è il sunto del sunto di quello che uso io... ovviamente non funziona così com'è... va personalizzato con le tue esigenze...... c'è solo una funzione per aprire excel (mi raccomando i riferimenti), un recordset e un ciclo for... per il resto prova ad approfondire e a tentare qual "cosina" tu... ovviamente la parte relativa alla programmazione VBA excel non l'ho messa ... su internet c'è tanto.... per trattare integralmente la cosa ci sarebbe da aprire più di un 3D (anche in excel)

    Dim xlApp As Object ' variabile globale
    Dim oWks As Object ' variabile globale
    Dim sfile as String
    
    Function ApriExcel(sfile As String)
        Set xlApp = CreateObject("Excel.Application")
        Set oWks = xlApp.Workbooks.Open(CStr(CurrentProject.Path) & "\" & sfile) 
        xlApp.Visible = False
        Set oWks = Nothing
        Set xlApp = Nothing
    End Function
    
    Private Sub btn_Importa_Click()
        Dim ExcelRecordset As DAO.Recordset 
        Dim i as integer
        Dim inizio as integer
        Dim fine as integer
    
        Set ExcelRecordset = CurrentDb.OpenRecordset("tu Tbl o qry", dbOpenDynaset) 
           
        For i = inizio To fine ' ti devi spostare nel file excel... io non importo il range per questioni proprie del mio applicativo.
            
    	' e poi aggiungi i dati
            ExcelRecordset.AddNew 
            ExcelRecordset.Fields("Tuo Campo") = Valore
    	ExcelRecordset.Update 
        Next
    
        ExcelRecordset.Close 
        Set ExcelRecordset = Nothing
    End Sub
    
    sicuramente il codice nella sub va integrato nella function... o viceversa.. devono lavorare all'unisono... apri il file... leggi con le funzioni excelvba, scrivi nella tabella access tramite DAo e poi chiudi il file excel

    a presto.
  • Re: Importazione dati da excel senza collegamento

    Tralasciando l'idea di aprire il SECONDO file di Excel che NON SAI a priori quale sia e dove sia... e che non trovo molto funzionale...

    Credo che l'idea di GIBRA possa essere più volta a rendere INDIPENDENTE il File da importare, non di aprirne altri...!

    Quindi perchè non APRI il File di Excel che vuoi IMPORTARE, Crei un Foglio nuovo, selezioni tutte le Celle, copi il contenuto del Foglio da copiare, e fai un PASTE SPECIAL solo Valori nel foglio che poi userai per l'import...!

    In questo modo il Foglio creato sarà INDIPENDENTE dal File Excel collegato.

    Sembra difficile ma, se crei una MACRO in Excel che fa questo, la puoi usare in Access sul File aperto via Automazione.
  • Re: Importazione dati da excel senza collegamento

    @Alex ha scritto:


    Credo che l'idea di GIBRA possa essere più volta a rendere INDIPENDENTE il File da importare, non di aprirne altri...!
    Esatto. Questa è la sostanza.
    Poi il 'come' lo fa (a mano, con una macro, ...) è a scelta.
Devi accedere o registrarti per scrivere nel forum
6 risposte