Inserire nome tabella in un campo

di il
5 risposte

Inserire nome tabella in un campo

Buongiorno,

sto inserendo in un'unica tabella di access svariati file csv tutti formattati allo stesso modo, ma suddivisi per periodi temporali differenti.
Importo manualmente ogni singola tabella con NewDataSource, e vado in "append" sulla medesima tebella.
Vorrei però ogni volta che importo il dato, scrivere su un campo dedicato il file da cui provengono i vari record.

Ma non trovo una funzione in access che mi recuperi il nome della tabella, come la funzione Cell("nomefile") in excel.

Grazie

5 Risposte

  • Re: Inserire nome tabella in un campo

    NOn ho capito nulla, se la Tabella ha il Nome del File avrà solo 1 Campo, NewDataSource, di cosa parli di preciso che non si comprende...?
  • Re: Inserire nome tabella in un campo

    Cerco di essere più chiaro, ti riepilogo:
    - ho importato in Access vari file csv in tabelle separate, tutti file formattati allo stesso modo.
    - tutte queste tabelle devono confluire in un unica tabella di Access.
    - farò tante append verso l'unica tabella.
    Vorrei però avere un campo nella tabella finale che mi tenga traccia della tabella di provenienza di ogni record aggiunto:
    Esiste una funzione che mi permetta di immettere il nome della tabella in una campo tipo filename() tablename() o altro?
    (ovviamente ho provato varie funzioni ma non funzionano)

    INSERT INTO
    Tabella_repository ( TabellaProvenienza, Campo1, Campo2, Campo3 )
    SELECT
    tablename() AS TabellaProvenienza,
    Tabella_csv1.Campo1,
    Tabella_csv1.Campo2,
    Tabella_csv1.Campo3

    FROM Tabella_csv1;

    tablename() non funziona.
    Grazie
  • Re: Inserire nome tabella in un campo

    Domanda... perchè hai importato in Tabelle separate...?
    L'errore è assolutamente questo... Importa direttamente nella Tabella Finale e, se serve trovi il Campo definito come Differenziazione, ad esempio il NomeFile di provenienza...
    Stai facendo una cosa che non ha senso.
  • Re: Inserire nome tabella in un campo

    GViviani ha scritto:


    Esiste una funzione che mi permetta di immettere il nome della tabella in una campo tipo filename() tablename() o altro?
    (ovviamente ho provato varie funzioni ma non funzionano)
    Non sarebbe sufficiente che tu specificassi il nome della tabella di riferimento come valore stringa letterale quando fai l'INSERT?

    Così come scrivi il nome della tabella nella clausola FROM, non hai bisogno di alcuna funzione per acquisirlo: ti basta specificare lo stesso nome tra apici come valore del campo TabellaProvenienza.

    Un chiaro esempio di adozione del cosiddetto .
  • Re: Inserire nome tabella in un campo

    Dal momento che è tutto manuale, puoi anche mettere un parametro nella query ( tipo [fileProvenienza] )
    che ti sarà ( ... o meglio dovrebbe esserti chiesto) di valorizzare quando esegui la query di insert
Devi accedere o registrarti per scrivere nel forum
5 risposte