Tabella Access export in un file .CSV

di il
4 risposte

Tabella Access export in un file .CSV

Buongiorno,
sono uno studente universitario con esperienza nell'ambito programmazione. Sto lavorando ad un progetto nel quale un cliente necessita di esportare una tabella di un file .mdb in un file .csv due volte al mese. Ho effettuato numerose ricerche ma non riesco a comprendere come procedere allo sviluppo di questa funzionalità. Ho compreso che dovrò utilizzare un Task scheduler per rendere automatico l'export ma non comprendo come e dove scrivere il codice da far eseguire. Effettuando delle ricerche mi sono imbattuto nel comando TransferText e l'ho applicato all'interno di Windows Shell ISE per poi poter esportare l'azione ma con scarsi risultati... qualcuno di voi può indicarmi da dove partire con lo sviluppo di questa funzione?

Grazie mille per il vostro tempo.

4 Risposte

  • Re: Tabella Access export in un file .CSV

    Ciao

    Il cliente finale cosa deve fare poi di quel CSV?
    Se deve farci qualcosa lui a mano (es: vederli su Excel, mandarli via email a qualcuno, ...) per me potresti usare direttamente la funzione Access per esportare i dati:
    - Apre i dati
    - Seleziona la tabella
    - DatiEsterni-> Esporta -> Excel

    Possibile usare questa strada?

    In caso contrario non saprei se a riga di comando ci sia qualcosa di valido. In alternativa puoi sviluppare qualcosa a manina, però ti serve un linguaggio di programmazione (c#, java, perl, python, ...)
  • Re: Tabella Access export in un file .CSV

    Da quanto.comprendo dorvrai fare questa cosa dalle azioni pianificate di Windows senza aprire access...?

    Poco male... ci sono svariati modi, forse il piu semplice sarebbe usare ADO, ma puoi usare anche quello che hai trovato che è corretto e svolge esattamente quello che ti serve, ma dovrai scrivere un file con estensione VBS quindi dovrai esplicitare gli oggetti padre dichiarandoli ed istanziandoli.
    Esempio il DOCMD funziona da dentro Access in quanto membro di Application che diventa esplicito, ma dal file VBS devi prima istanziare l'oggetto MsAccess.Applixation e su quello usare il membro DOCMD...
    
    Set accDB = CreateObject("Access.Application")       
        accDB.OpenCurrentDatabase("C:\TuoDB.mdb")        
        accDB.DoCmd.TransferText 2, ";", "NomeTabella", "C:\NoneFile.txt", False 
        accDB.CloseCurrentDatabase
        accDB.Quit          
    Set accDB = Nothing 
    
    Se ti sei costruito un file specifica puoi esportare riferendoti a quello.
    Faia tensione che ho sostituito la costante acExportDelim con il suo valore Esplicito in quanto il VBS non riconosce le ENUM di Access a meno di scrivere tutta la desinenza corretta... semplificando ho preferito mettere 2.

    Non l'ho provato quindi verifica tutto quello che ti serve che sia corretto.

    Fatto il FILE VBS scrivi un BAT che lo esegue e scheduli con le operazioni pianificate di Windows il lancio del file BAT.

    P.S. Ti suggerisco di guardare la soluzione che usa ADO in quanto in questo caso credo sarebbe meglio...
  • Re: Tabella Access export in un file .CSV

    Grazie mille per le vostre risposte... purtoppo ho una grande carenza io in vba e quindi dovrò studiare a fondo il linguaggio di programmazione... grazie @Alex per la tua risposta, purtroppo continua a darmi errore nel path riferito al file di destinazione, nonostante io abbia provato anche a crearlo.
    Any links che posso seguire per studiare a fondo questo linguaggio di programmazione?
  • Re: Tabella Access export in un file .CSV

    simonesaleri ha scritto:


    Grazie mille per le vostre risposte... purtoppo ho una grande carenza io in vba e quindi dovrò studiare a fondo il linguaggio di programmazione... grazie @Alex per la tua risposta, purtroppo continua a darmi errore nel path riferito al file di destinazione, nonostante io abbia provato anche a crearlo.
    Non ho capito quale problema incontri nel PATH... io ho messo un Riferimento a caso... tu metti il tuo... ovviamente devi avere i diritti di scrittura nella Cartella in questione, ed alcune volte in Aziende con un sistema di IT-Managment il disco C potrebbe non essere così scontato sia scrivibile...

    simonesaleri ha scritto:


    Any links che posso seguire per studiare a fondo questo linguaggio di programmazione?
    In Internet purtroppo si trova troppo, e per chi non ha la capacità di FILTRARE le cavolate dalle cose serie non è un buon banco di studio... anzi pessimo, ti suggerisco dei Libri dedicati non di base ma più concreti.
    Quì trovi delle indicazioni anche se relative a versioni superate, valuta nel caso di verificare l'esistenza di aggiornamenti alla Versione che stai usando.
Devi accedere o registrarti per scrivere nel forum
4 risposte