sovrascrivere record in access

Anonimo
2014-04-30T18:05:55+00:00

Buonasera,

vorrei sottoporvi un problema che non riesco a risolvere.

Devo aggiornare una tabella con dati provenienti da un file di testo. Ho predisposto una macro che con delle specifiche di importazione mi importa il file correttamente. A questo punto a me servirebbe una condizione, cioè, se il record che sto per importare esiste già la procedura non me lo deve aggiungere come nuovo ma sovrascrivere il vecchio.

Spero di essere stato chiaro e che come al solito qualcuno mi illumini.

Grazie e buona serata.

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
2014-05-02T07:02:24+00:00

Ciao Vito RoccoGabriele,

volevo proporre una variante che utilizza un aspetto curioso del motore Jet, la query che Accoda e Aggiorna.

I passi da eseguire sono:

  1. Elimina i dati dalla tabella di appoggio
  2. Importa i dati nella tabella di appoggio
  3. Esegui un query che importa i record mancanti e che nello stesso tempo aggiorna quelli esistemti.

Questo è l'esempio della query che accoda e aggiorna:


UPDATE DISTINCTROW T1 LEFT JOIN T2 ON T1.ID = T2.ID SET T2.ID = [T1].[ID], T2.Campo1 = [T1].[Campo1];


T1 è la tabella temporanea di Appoggio e T2 quella definitiva di destinazione, il campo Id identifica le righe.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-05-02T15:31:15+00:00

    Scusate ma ho trovato il flag 

    Grazie ancora

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-05-02T15:12:41+00:00

    Buona sera,

    sono riuscito a implementare la procedura seguendo l'indicazione di Giorgio, forse mi sono sembrate più adatte al mio problema, e onestamente devo dire che essendoci una riga di codice già pronto sono riuscito a capire meglio.

    Ora ho solo un piccolo problemino che non riesco a risolvere, praticamente quando importo il file di testo porto in tabella anche il primo record dove ci sono le intestazioni di riga che chiaramente non servono. Come posso fare? Esiste un qualcosa da selezionare nella procedura guidata?

    Grazie e buona serata

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-05-02T07:36:04+00:00

    Grazie per le varie soluzioni, adesso mi cimento nelle varie prove e se riesco a combinare qualcosa sarete i primi a saperlo.

    A presto

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-05-02T06:49:28+00:00

    Ciao Vito RoccoGabriele,

    potresti

    a) importare il file di testo in una tabella di appoggio

    b) eliminare nella tabella di destinazione i record uguali (immagino ci sia un campo che consenta di identificare univocamente ciascun record) presenti in entrambe le tabelle (appoggio e destinazione)

    c) eseguire una query di accodamento dalla tabella di appoggio verso quella di destinazione

    d) svuotare la tabella di appoggio per renderla pronta alla successiva importazione

    oppure

    a) importi il file di testo in una tabella di appoggio

    b) esegui una query di aggiornamento dei record della tabella di destinazione presenti nella tabella di appoggio

    c) esegui una query di accodamento dalla tabella di appoggio verso quella di destinazione escludendo ovviamente i record già presenti e precedentemente aggiornati

    d) svuotare la tabella di appoggio per renderla pronta alla successiva importazione

    David

    La risposta è stata utile?

    0 commenti Nessun commento