Query di aggiornamento db articoli

di
Anonimizzato19846
il
8 risposte

Query di aggiornamento db articoli

Salve a tutti,
da poco tempo sto mettendo mani su alcuni db di access che mi gestiscono gli articoli di un supermercato. Attualmente sto lavorando su di una tabella contenente la colonne (campi) del codice articoli e della descrizione articoli. Dal momento che il fornitore del supermercato ha cambiato alcuni molti codici articoli presenti nel mio db, è sorta la necessità di aggiornare quest'ultimo. Il mio fornitore mi ha mandato un file excel contenente i vecchi codici articoli, e i nuovi.
Quindi la mia necessità è confrontare il mio db con il file excel contenente i nuovi codici articoli, con l'unico riferimento dei vecchi codici articoli, per poi infine aggiornare il mio db.

Che tipo di query devo fare? Io ho provato tramite alcune guide a fare dele query di aggiornamento o di accodamento, ma senza successo...

8 Risposte

  • Re: Query di aggiornamento db articoli

    MMmmmm ma la Tabella attuale, quella del tuo DB, ha delle ChiaviPrimarie...? ha delle Tabelle relazionate...?
    Se il campo CodiceArticolo è ChiavePrimaria ed hai delle Tabelle relazionate con questo campo... direi che hai un problema... e grosso....!

    Peraltro non saprei come altro potrebbe essere diverso... altrimenti a cosa servirebbe quella Tabella fine a se stessa...?

    Devi chiarirci lo scenario, perchè quello che descrivi lascia intendere qualche cosa di molto anomalo.
  • Re: Query di aggiornamento db articoli

    @Alex ha scritto:


    MMmmmm ma la Tabella attuale, quella del tuo DB, ha delle ChiaviPrimarie...? ha delle Tabelle relazionate...?
    Se il campo CodiceArticolo è ChiavePrimaria ed hai delle Tabelle relazionate con questo campo... direi che hai un problema... e grosso....!

    Peraltro non saprei come altro potrebbe essere diverso... altrimenti a cosa servirebbe quella Tabella fine a se stessa...?

    Devi chiarirci lo scenario, perchè quello che descrivi lascia intendere qualche cosa di molto anomalo.
    Ciao Alex grazie per la risposta,
    se a volte dovessi non darvi dati approfonditi è perchè non sono specializzato in access e quindi non so quali possano essere i dati importanti da condividervi.
    Comunque sia la tabella del mio db ha delle relazioni con altre tabelle, ma non sul codice articoli che è quello che io devo aggiornare. Per chiave primaria quindi intendi gli ID numerici che vengono generati quando si aggiunge un nuovo articolo? Se si, credo non sia un problema perchè ho bisogno di aggiornare solo i codici articoli del mio fornitore che non ha alcun tipo di relazioni.
  • Re: Query di aggiornamento db articoli

    Meno male...

    In questo caso potresti:
    1) Importare i nuovi dati in una Tabella TEMP, ti bastano le 2 Colonne CodiceVecchio e CodiceNuovo.
    2) Fare una Query UPDATE del dato nel campo CodiceArticolo.
    UPDATE T1 SET CodiceArticolo=Dlookup("CodiceNuovo","TabTemp","CodiceVecchio=" & [CodiceArticolo])
    Non è ottimizzata ma la devi eseguire solo 1 volta...

    Fai una prova prima con Tabelle Temporanee in modo da capire come sistemare...
  • Re: Query di aggiornamento db articoli

    @Alex ha scritto:


    Meno male...

    In questo caso potresti:
    1) Importare i nuovi dati in una Tabella TEMP, ti bastano le 2 Colonne CodiceVecchio e CodiceNuovo.
    2) Fare una Query UPDATE del dato nel campo CodiceArticolo.
    UPDATE T1 SET CodiceArticolo=Dlookup("CodiceNuovo","TabTemp","CodiceVecchio=" & [CodiceArticolo])
    Non è ottimizzata ma la devi eseguire solo 1 volta...

    Fai una prova prima con Tabelle Temporanee in modo da capire come sistemare...
    Grazie per la risposta, ho provato ad utilizzare la tua query, però ho notato che al termine mi va a cancellare il vecchio codice articolo, senza sostituirlo con il nuovo. Mi rimane quindi il campo vuoto.
    In più durante l'avvio della query mi è uscito il seguente errore:
    errore query
    errore query

    io naturalmente sono andato avanti con il risultato descritto prima.

  • Re: Query di aggiornamento db articoli

    Non credo che il CodiceArticolo sia di tipo numerico, ma sarà di certo un testo, quindi ti chiedo:

    hai racchiuso tra apici il [CodiceArticolo] ?
  • Re: Query di aggiornamento db articoli

    gibra ha scritto:


    Non credo che il CodiceArticolo sia di tipo numerico, ma sarà di certo un testo, quindi ti chiedo:

    hai racchiuso tra apici il [CodiceArticolo] ?
    Sisi certo, ti copio quello che ho scritto nella query:
    UPDATE TAB_CODFART SET CODFART = Dlookup("CodiceNuovo","Tabella2","CodiceVecchio=" & [CODFART])
    confermo che i campi sono di testo su entrambe le tabelle.
  • Re: Query di aggiornamento db articoli

    Ma non hai fatto quello che ha detto Gibra...!!! Dove sono gli Apicetti che servono come Sintassi nei criteri su campi di tipo Testo...?

    Così:
    UPDATE TAB_CODFART SET CODFART = Dlookup("CodiceNuovo","Tabella2","CodiceVecchio='" & [CODFART] & "'")
  • Re: Query di aggiornamento db articoli

    vincenzo4men ha scritto:


    Sisi certo, ti copio quello che ho scritto nella query:
    UPDATE TAB_CODFART SET CODFART = Dlookup("CodiceNuovo","Tabella2","CodiceVecchio=" & [CODFART])
    confermo che i campi sono di testo su entrambe le tabelle.
    Quindi il tuo codice è sbagliato.
Devi accedere o registrarti per scrivere nel forum
8 risposte