Aggiornamento tabelle database Access da file unico excel.

di il
16 risposte

Aggiornamento tabelle database Access da file unico excel.

Ciao
Premetto che non sono esperto e non cerco una soluzione completa ma un elenco di passi che mi permettano di svolgere il lavoro che sto facendo nel modo corretto.

Ho un database Access composto da molte tabelle separate Camion/auto/treni e campi differenti tra le tabelle a parte il serial Number che è univoco e progressivo e rappresenta il codice di un componente in magazzino.


Vorrei upgradare le informazioni solo di alcune colonne delle mie tabelle in access con le info aggiornate nel gestionale aziendale.

Posso esportare il gestionale in un file excell..cosa che dovrò ripetere giornalmente ( amen sopporto questo non automatismo..).

Importero' l excell gestionale dentro al mio database Access.

Cercherò per serial Number dell' excell I corrispettivi serial Number per ciascuna tabella access e aggiornerò i campi che desidero tramite una o più query di aggiornamento Con dei join credo .

Il problema è che il mio excell può avere serial Number doppi (sdoppiati in righe diverse)che contengono versioni di auto diverse era indicare delle omologhe.
Quando trovo questo doppione dovrò trovare la tabella che contiene il serial Number dell' excell e autocompilare su colonne differenti (auto1/ auto2/ auto3)del mio database Access il relativo campo trovato su righe diverse dell' excell ( Punto / Ferrari/null).
Nel caso il serial Number fosse solo uno la colonna auto 1 verrà compilata, mentre auto2 rimarrà vuota.

Non saprei proprio come gestire questa cosa per fare un lavoro strutturato.
Forse devo creare una tabella di appoggio che unisca prima i serial Number e le loro informazioni prima di confrontarli con il mio Access.

Grazie

16 Risposte

  • Re: Aggiornamento tabelle database Access da file unico excel.

    Lebtabelle che hai strutturato vanno bene per Excel non per un Database...
    Cammion/Auto/Treni sono mezzi che vanno in una unica tabella con Attributo che ne identifica il Type... appunto Auto/Treno ecc....

    Quindi se vuoi usare un database ed usarlo come si deve quello che hai fatto NON va proprio bene.

    La fase di Import/Export è un dettaglio sibfa tutto con 1 riga di codice... ma se hai ben strutturato il db... e non è così.

    Ora, a seconda di quello che vorrai fare possiamo darti suggerimenti o meno.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Ho ripensato alla struttura dopo i tuoi suggerimenti, e non posso che darti ragione.
    La struttura che mi ritrovo fatta da più tabelle mi porta solo a noie, per cui :

    1) primo passo devo unire le varie tabelle tra loro senza perdere dei dati ( ricordo che per ogni tabella ho colonne in più o in meno).
    Su quelle tabelle ho dei valori che nel gestionale (dal quale estrapolo l excell)non ci sono e altri invece che devono essere aggiornati dalle info nuove del gestionale
    Devo usare una query di unione? .
    E poi aggiungere il campo Type?.
    Grazie
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Il da farsi non è affatto semplice. E ciò a causa delle radicali differenze tra Excel e Access. Io consiglio (a grandi linee) di:
    1. Strutturare correttamente le tabelle di Access.
    2. Travasare i dati di Excel (direi) manualmente a piccoli passi una sola volta.
    3. Dopo aver fatto questo, decidere una volta per tutte di abbandonare Excel e lavorare solo su Access.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Bene ora dopo una query di aggiornamento ho un unico database con tutte le tipologie di Mezzi il tipo, le descrizioni e i costi.
    Ora il problema:
    1) ho collegato una tabella esterna da un file excell ( estratto dal gestionale).

    Devo aggiornare alcuni campi della mia tabella prendendoli dalla tabella collegata.

    2)il secondo scoglio è che la tabella collegata estrapolata dal gestionale ha serial Number doppi con indicazioni che vorrei andassero su colonne prestabilite della mia tabella.
    Esempio se trovo nell' excel un solo serial Number dovrò copiare il codice del produttore1 sul un campo produttore 1 del mio nuovo DB.
    Se trovo due o tre part Number uguali Al primo il codice produttore 1 dovrà essere scritto sul campo produttore1 del mio nuovo database , sul secondo codice doppione trovato nel file xls dovrò copiare il campo produttore 1 sul campo produttore 2 del mio database, se trovo un terzo codice doppione sull xls dovrò copiare produttore1 sul mio campo produttore3 del nuovo database.
    Purtroppo non ho possibilità di estrapolare da gestionale una unica riga per partnumber con diversi codici di partnumber su colonne diverse come dovrebbe essere...
    M.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Gomez ha scritto:


    dopo una query di aggiornamento ho un unico database con tutte le tipologie di Mezzi il tipo, le descrizioni e i costi
    Io ho difficoltà nel comprendere il significato di questa frase.

    Per tutto il resto mi pare manchi l'intera descrizione DETTAGLIATA di tabelle, campi, relazioni e quello che vuoi fare indicando esplicitamente tutto con i nomi propri.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    La frase significa che:
    Sono riuscito a convertire l attuale database composto da molte tabelle separate in un unica tabella strutturata con tutti i campi necessari per gestire i tutti i" mezzi".

    Mi serve tempo per creare la descrizione dettagliata dei campi e le relazioni che voglio fare, come hai ben capito parlo di "mezzi" per semplicità in realtà si tratta di componenti elettronici.
    Preparo un esempio e lo posto.
    M.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Gomez ha scritto:


    Sono riuscito a convertire l attuale database composto da molte tabelle separate in un unica tabella strutturata con tutti i campi necessari per gestire i tutti i" mezzi".
    Questa frase, detta così, in Access non ha senso. Tutt'al più vorrai dire che da tante tabelle correlate (relazionate) sei riuscito a impostare/visualizzare una QUERY...ma il linguaggio tecnico è diverso.

    A mio avviso il tuo INTERO problema è molto complesso e fatto di mattoni problematici più piccoli che andrebbero analizzati uno per uno in specifiche discussioni. Ad ogni modo la descrizione deve essere sempre molto chiara.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Ho preparato due tabelle di esempio molto chiare per chiarire il tutto, secondo me se riesco a postare le tabelle xls ( le ho convertire pure in HTML ma si visualizzano sfalsate nel forum) la cosa è più semplice di quanto possa essere.
    Non sono esperto in queste cose, il mio linguaggio è terra terra ma mi sto' sforzando a risolvere il problema..
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Forse se posti, tramite sito di condivisione dati es. Dropbox o altro, il file di Access e i due file excel sarebbe ancora meglio per poterti aiutare.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Bene a questo link ci sono due Tabelle di esempio che rispecchiano le problematiche che ho:

    https://www.dropbox.com/sh/nt4e5s3exhf1ebu/AAApJEYg974NcS-aHnOn89Aya?dl=0

    [*]TabellaChedeveaggiornarsi.xlsx

    È il mio database in Acces.
    La chiave primaria è la colonna "Codice"
    Dopo la stesura, alcuni campi (vedi K5 L4)possono essere vecchi e necessitano di un refresh leggendo i dati aggiornati della tabella :

    [*]TabellacollegataGestionale.xlsx
    Questa tabella è una tabella collegata con le informazioni corrette necessarie ad aggiornare il mio database.
    La chiave primaria è la colonna "Part_Number".

    1)Prima difficoltà:
    L' operazione di aggiornamento da fare è cercare in maniera univoca i valori del "Codice" Nella colonna "Part_Number" e sostituire esempio L4 (codice) con B4 (part_number) in modo da avere sempre la TabellaChedeveaggiornarsi.xlsx aggiornata.

    2)Seconda difficoltà:
    Si noti che TabellacollegataGestionale.xlsx può avere Part_Number doppi (A5 A6)
    In questo caso il codice dopio indica una componente omologato di diverso fornitore.
    Le informazioni dei codici doppi dovrebbero essere inserite nella riga univoca del "Codice" della TabellaChedeveaggiornarsi.xlsx
    In questo modo
    B5 ( Codice_Produttore) in L5 (Codice_Produttore_Marca1)
    B6 (Codice_Produttore) in M5(Codice_Produttore_Marca2)

    La regola è che il primo codice doppio che si trova riempie sempre (Codice_Produttore_Marca1)
    Il secondo riempie (Codice_Produttore_Marca2)
    Se ci fossero 3 doppioni il terzo riempirebbe(Codice_Produttore_Marca3).
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Per iniziare:
    • Nel database di Access esiste la tabella TabellaChedeveaggiornarsi ?
    • I campi nella tabella TabellaChedeveaggiornarsi li hai creati tu ?, perchè non sono corrispondenti a quelli del gestionale (vedi il campo Descrizione che è scorporato in tre campi) chi lo fa questo lavoro di scorpotamento
    Se la TabellaChedeveaggiornarsi l'hai creata tu hai sbagliato.
    Il tutto non si gestisce nel modo che hai ipotizzato ma attraverso tre tabelle una dove debbono essere memorizzati i vari Materiali (cap1, cap2, res1, res2), aggiungendo anche il campo Descrizione, la seconda dove debbono essere memorizzati i Produttori (Algida,Frost,Mieloni,Bravo) e la terza che mette in relazione i Materiali con i Produttori (cap1-Algida,cap2-Frost,res1-Mieloni,rs2-Bravo,rs2-Alfa), aggiungendo anche i campi CodiceProduttore e Costo.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Stifone ha scritto:


    Per iniziare:
    • Nel database di Access esiste la tabella TabellaChedeveaggiornarsi ?
    Si esiste
    È la tabella compilata dai tecnici contenente informazioni tecniche e informazioni che devono aggiornarsi dal gestionale tipo il "costo_marca1"
    • I campi nella tabella TabellaChedeveaggiornarsi li hai creati tu ?, perchè non sono corrispondenti a quelli del gestionale (vedi il campo Descrizione che è scorporato in tre campi) chi lo fa questo lavoro di scorpotamento
    Si li ho creato io, sono diversi perché non posso tenere i campi dettati dal gestionale "tabellacollegatagestionale"
    Però il campo descrizione non è scorporato.
    E' scorporato per esempio il campo" Costo_Marca1"
    Perché dalla
    "tabellacollegatagestionale" si possono trovare due o più righe uguali di" Part_number" quando si trovino righe uguali vuole dire che i componenti sono alternativi uno all altro.
    Se sono alternativi il costo la marca e codice produttore saranno differenti e io nella tabella
    "TabellaChedeveaggiornarsi " devo avere su un unica riga queste informazioni sulle relative caselle
    • Se la TabellaChedeveaggiornarsi l'hai creata tu hai sbagliato.
      Il tutto non si gestisce nel modo che hai ipotizzato ma attraverso tre tabelle una dove debbono essere memorizzati i vari Materiali (cap1, cap2, res1, res2), aggiungendo anche il campo Descrizione, la seconda dove debbono essere memorizzati i Produttori (Algida,Frost,Mieloni,Bravo) e la terza che mette in relazione i Materiali con i Produttori (cap1-Algida,cap2-Frost,res1-Mieloni,rs2-Bravo,rs2-Alfa), aggiungendo anche i campi CodiceProduttore e Costo.
    So che sembra tutto contorto, ma dovrei solo aggiornare alcuni campi dalla tabellacollegatagestionale alla mia TabellaChedeveaggiornarsi ore compilata, la difficoltà è che la prima ha codici doppi da affiancare le info in un unica riga
  • Re: Aggiornamento tabelle database Access da file unico excel.

    Gomez ha scritto:


    So che sembra tutto contorto, ma dovrei solo aggiornare alcuni campi dalla tabellacollegatagestionale alla mia TabellaChedeveaggiornarsi ore compilata, la difficoltà è che la prima ha codici doppi da affiancare le info in un unica riga
    I database devono sottostare a delle regole di "normalizzazionde" che bisogna conoscere sempre prima di impostarlo. In assenza di normalizzazione, il linguaggio diventa incomprensibile, così come sono incomprensibili/illogici i nomi cha hai dato alle tabelle. Nessun utente del forum potrà mai darti un suggerimento nella direzione che hai indicato tu.
  • Re: Aggiornamento tabelle database Access da file unico excel.

    .......
    ......
    Se la TabellaChedeveaggiornarsi l'hai creata tu hai sbagliato.
    Il tutto non si gestisce nel modo che hai ipotizzato ma attraverso tre tabelle una dove debbono essere memorizzati i vari Materiali (cap1, cap2, res1, res2), aggiungendo anche il campo Descrizione, la seconda dove debbono essere memorizzati i Produttori (Algida,Frost,Mieloni,Bravo) e la terza che mette in relazione i Materiali con i Produttori (cap1-Algida,cap2-Frost,res1-Mieloni,rs2-Bravo,rs2-Alfa), aggiungendo anche i campi CodiceProduttore e Costo.
    Ok X le tre tabelle per normalizzare, ma come gestisco nelle tre tabelle i casi di materiali omologati di produttori diversi con codice "part_number" uguale tipo res2?
    Grazie
    M.
Devi accedere o registrarti per scrivere nel forum
16 risposte