Accodamento dati con tabella incrociata

di il
8 risposte

Accodamento dati con tabella incrociata

Buongiorno a tutti... Ho un problema magari banale, ma non riesco a risolvere...

Provo a spiegarmi, magari qualcuno può aiutarmi...

Nel mio piccolo database ho un problema su queste due tabelle:

Tabella 1. IDClienti - codiceCliente - nomeCliente

Tabella 2. IDCommessa - IDClienti - nomeCommessa

Devo eseguire un accodamento su tabella 2, leggo i campi dal gestionale aziendale (non posso fare modifiche) per poi manipolarli nel mio. Accodo il nomeCommessa senza nessun problema, quando accodo IDClienti, essendo numerico, giustamente mi da errore. C’é la possibilità di fare in automatico la conversione appoggiandosi a tabella 1 popolato con i medesimi codici clienti del gestionale della ditta e ottenere il giusto IDClienti da inserire?

Spero di essere stato chiaro.
Grazie per le preziose info...

8 Risposte

  • Re: Accodamento dati con tabella incrociata

    Che dato hai da accordare...?
    Fai un esempio concreto mostrando ad esempio 1 Record così capiamo meglio.
  • Re: Accodamento dati con tabella incrociata

    Buongiorno, ecco l’esempio:

    Tabella 1.
    IDClienti - codiceCliente - nomeCliente
    1 - C00001 - Pippo
    2 - C00002 - Pluto
    3 - C00003 - Paperino
    4 - C00004 - Paperina
    ....


    Dal gestionale vorrei accodare questi due campi alla tabella 2

    C00001 - topolino
    C00002 - topolina
    C00002 - franco
    C00003 - franca


    Tabella 2.
    IDCommessa - IDClienti. - nomeCommessa
    1 [automatico] - C00001 - topolino
    2 [automatico] - C00002 - topolina
    3 [automatico] - C00002 - franco
    4 [automatico] - C00003 - franca
    ....

    Ma il campo IDClienti non me lo fa accodare giustamente perché è numerico e quello che prelevo dal gestionale é puro testo...
    Vorrei capire se si può associare quel campo durante la copia alla seconda colonna della tabella 1 o se c’è un modo di dirgli, mentre accodi es. C00001 verifica su tabella 1 a cosa corrisponde, in questo esempio ID= 1.

    Il tutto mi serve per poter agganciare a un descrittivo commessa e un descrittivo cliente prelevato del gestionale aziendale, popolare una tabella a campi incrociati che oltre ai pochi campi che ho messo nell’esempio, avrà anche un indirizzo, un telefono, una mail etc

    Spero di essere stato più chiaro..

    Grazie
  • Re: Accodamento dati con tabella incrociata

    Perché invece di usare un campo Counter come PK nella tabella clienti non usi il campo codice cliente...?
    Secondo me hai sbagliato la struttura relazionale...
  • Re: Accodamento dati con tabella incrociata

    Così sembra funzionare... Era errato il concetto di base... vado avanti con i test...

    Grazie
  • Re: Accodamento dati con tabella incrociata

    Ora mi sono accorto di un altro problema sempre legato all'accodamento...

    Il tutto, dopo aver cambiato la la struttura relazionale come suggerito accoda bene i dati, accodando anche l'id della tabella da cui prelevo i dati, che tramite un confronto con l'ultimo id accodato gli faccio accodare i nuovi dati e tutto va bene...

    Ma se modificano dal gestionale un campo precedentemente creato, ovviamente non si aggiorna...

    Temo di aver sbagliato qualcosa proprio alla base...

    Magari al posto dell'accodamento dovevo usare altro??

    Avete qualche dritta??
    Grazie
  • Re: Accodamento dati con tabella incrociata

    Andrea1984 ha scritto:


    Ora mi sono accorto di un altro problema sempre legato all'accodamento...

    Il tutto, dopo aver cambiato la la struttura relazionale come suggerito accoda bene i dati, accodando anche l'id della tabella da cui prelevo i dati, che tramite un confronto con l'ultimo id accodato gli faccio accodare i nuovi dati e tutto va bene...

    Ma se modificano dal gestionale un campo precedentemente creato, ovviamente non si aggiorna...

    Temo di aver sbagliato qualcosa proprio alla base...

    Magari al posto dell'accodamento dovevo usare altro??

    Avete qualche dritta??
    Grazie
    Andrea, secondo me non hai fatto uno studio accurato della situazione con una logica consolidata.
    Il Database Gestionale che hai non può MODIFICARE i campi CHIAVE, Nessun Database lo fa, quello che però devi sapere è se quello che esporta sono o meno campi Chiave, altrimensi su che basi fai il ragionamento...?
    Il Fatto di avere un Campo ID nel tuo applicativo LOCALE non ti metterà MAI al riparo, perchè non avrai modo di risalire a nulla per confronto con il locale, se i dati che importi non hanno una loro logica di UNIVOCITA' e se questa viene esportata, non serve che tu ne aggiunga una tua.

    Quindi prima di partire fai una valutazione tecnica di cosa hai in Ingresso e di come strutturare il tuo applicativo, ovviamente noi non possiamo dirti come fare perchè manca la parte di Base sulla Definizione tecnica dei Dati in ingresso.
  • Re: Accodamento dati con tabella incrociata

    Questo è il database che mi si propone in automatico creando un collegamento tra il mio Access e il database SQL interno aziendale che non posso modificare...


    DaDatabaseAziendale.jpg
    DaDatabaseAziendale.jpg


    Vado ad accodare alcuni dati al mio (nel descrittivo ci sono segnati i campi che accodo...)


    MioDatabase.jpg
    MioDatabase.jpg


    Accodando anche gli ID mi trovo gli ID identici tra le due tabelle(non so quanto sia corretto) e tramite quel valore eseguo gli accodamenti di aggiunta commesse. Tanto nel mio database NON devo assolutamente creare commesse.

    Praticamente vorrei che le commesse (creazione e modifiche) vengano sempre e solamente fatte dal gestionale aziendale; mentre nel mio database vorrei gestire i dati del gestionale aziendale solo come lettura e stampa e avrei la necessità di aggiungere altre info nelle caselle che non accodo...

    Per ora accoda senza problemi, mi permette di associare altri dati alle commesse create nel gestionale aziendale, se loro creano una commessa mi si accoda alle altre nel mio database, ma se fanno modifiche nel gestionale aziendale, io non riesco ad aggiornare i dati nel mio...

    Sicuramente ci sarà qualche errore leggendario alla base... ma non esco...

    Spero sia riuscito a farmi capire... Magari riesci a darmi qualche idea su quanto sto sbagliando...

    Grazie
  • Re: Accodamento dati con tabella incrociata

    Scusa, ma chi amministra quel Server...?
    Non puoi farti creare un Accesso in Sola Lettura...? Eviti l'assurdità di replicare i dati.

    In ogni caso il Campo ID AutoIncrementale che tu chiami [ID] è INUTILE..., non lo devi MAI mettere in nessuna tabella, devi limitarti ad importare i campi del Server e, se proprio vuoi relazionare devi define nelle tue LocalTable le stesse PK e le stesse FK nelle eventuali tabelle del Server.
    Ovviamente quando fai degli INSERT, cosa che trovo assurda fare, almeno devi verificare se sono lato 1 o Molti nel secondo caso devi avere il Record lato 1.

    A me pare tu stia inventando l'acqua calda...
Devi accedere o registrarti per scrivere nel forum
8 risposte