Copia del campo ID tra tabelle

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Copia del campo ID tra tabelle

    Altra soluzione semplicissima è inserire nella sezione criteri della query in visualizza struttura (a saperlo...):

    campo della tabella B riferito al contatore ID A ---> [tabella A].[ID A]
  • Re: Copia del campo ID tra tabelle

    ornello ha scritto:


    Altra soluzione semplicissima è inserire nella sezione criteri della query in visualizza struttura (a saperlo...):

    campo della tabella B riferito al contatore ID A ---> [tabella A].[ID A]
    Mah di cosa state parlando?
    Non conoscere cosa mettere nella condizione where non è la stessa di dire non so come scrivere la condizione where.
    Mettere l'id PK di una tab in un'altra, vuole dire relazionare le due Tabelle e francamente parlare di una query massiva dopo che sono stati inseriti i dati mi sa tanto di una cattiva progettazione del Db che non a caso si chiama "relazionale".
    Ora se vogliamo fare un esercizio fine a se stesso, facciamolo pure ma per farlo occorre anzitutto definire :
    Qual'è la relazione "LOGICA" tra le due tab (fino a quando li chiameremo A e B non lo scopriremo MAI) e nessuno sarà in grado di stabilire
    cosa scrivere nella Where che, appunto costituisce il punto relazionale tra le due Tab.
    Ergo studiare codice senza un fine ben preciso non serve a nulla.
    saluti
  • Re: Copia del campo ID tra tabelle

    ornello ha scritto:


    chiedo un opinione a riguardo di sgrubak se può rispondere....
    Attenzione che il forum non è una chat. È sempre preferibile non rivolgersi ad un utente in particolare.

    ornello ha scritto:


    L'istruzione aggiorna la tabella query che vado a creare, la tabella di origine invece non viene aggiornata.
    Cosa intendi per "tabella query"? La tabella di origine è ovvio che non venga aggiornata. Da li i dati li prendi...

    ornello ha scritto:


    Altra soluzione semplicissima è inserire nella sezione criteri della query in visualizza struttura (a saperlo...):

    campo della tabella B riferito al contatore ID A ---> [tabella A].[ID A]
    Questa parte non mi è chiara. Visualizzazione struttura o SQL sono sinonimi, il foglio dati è il risultato. Modificare in visualizzazione Struttura, non fa niente di diverso che modificare l'istruzione SQL... Viceversa, modificare l'istruzione SQL aggiorna i valori dei controlli in visualizzazione Struttura. Operare con uno o con l'altro strumento è solo una questione di familiarità.
  • Re: Copia del campo ID tra tabelle

    Direi che comunque il problema è risolto... mi scuso ancora per la poca chiarezza della sintassi e ringrazio tutti per il supporto e la disponibilità. Buona giornata
  • Re: Copia del campo ID tra tabelle

    ornello ha scritto:


    Direi che comunque il problema è risolto... mi scuso ancora per la poca chiarezza della sintassi e ringrazio tutti per il supporto e la disponibilità. Buona giornata
    potresti farci comprendere cosa e come hai risolto il tuo problema, ti faccio io un esempio .
    Ho due tabelle :
    1)TbProvince con due campi
    IdProvincia (PK)
    Provincia
    2)Seconda Tabella TbComuni con 3 campi
    IdComune PK
    idProvincia Fk
    Comune

    Sapresti dirmi come fare a passare l'IdProvincia alla TabComuni, dopo che ho caricato nella seconda tabella un cinquantina di comuni?
  • Re: Copia del campo ID tra tabelle

    Ciao utente Gianni55 rispondo alla tua domanda, non ho il pc x provare il tuo esempio ma con tutti i miei limiti ti riporto come ho risolto;

    UPDATE tabellaB INNER JOIN tabellaA ON tabellaB.[ID A] = TabellaA.[ID A] SET TabellaB.[ID A] = [TabellaA].[ID A]


    Questo codice è quello che ho utilizzato nella query di aggiornamento che ho realizzato con il mio esempio precedente, credo che sostituendo ai tuoi campi esegua lo stesso lavoro.
    Una volta creata la query con i campi di interesse e con il campo id di cui vogliamo i dati copiati con il codice sopra postato la tabella {query} che access genera mi mostra il campo id aggiornato.
  • Re: Copia del campo ID tra tabelle

    Ciao utente ornello

    ornello ha scritto:


    Ciao utente Gianni55 rispondo alla tua domanda, non ho il pc x provare il tuo esempio ....
    quando lo avevi ti aggiornava l' "IdA" della tabellab ?
    ...ma con tutti i miei limiti ti riporto come ho risolto;
    Ripeto, hai risolto nel senso che: ti aggiornava l' "IdA" della tabellab ?
    UPDATE tabellaB INNER JOIN tabellaA ON tabellaB.[ID A] = TabellaA.[ID A] SET TabellaB.[ID A] = [TabellaA].[ID A]
    Questa query con quale "Logica" (condizione Where) aggiorna la TabellaB se la "LOGICA" ergo condizione Where , non c'è, è assente?
    Volevi una sfilza di zero, l'id della tabella A...o non l'hai provata per nulla?
    Questo codice è quello che ho utilizzato nella query di aggiornamento che ho realizzato con il mio esempio precedente, credo che sostituendo ai tuoi campi esegua lo stesso lavoro.
    Esatto...Nulla ed he "Nulla" perchè non suggerisco ad Access nessun criterio, condizione where.
    Una volta creata la query con i campi di interesse e con il campo id di cui vogliamo i dati copiati con il codice sopra postato la tabella {query} che access genera mi mostra il campo id aggiornato.
    Eccola qui:
    UPDATE TbComuni INNER JOIN  TbPr ON TbComuni.idpr=TbPr.idPr set tbcomuni.idpr=TbPr.idpr ;
    Risultato nulla.
    Niente di personale, ti volevo solo sottolineare che da queste parti ci leggono e in tanti, quindi prima di dire "ho Risolto" e necessario
    che uno ottenga il risultato altrimenti forniamo delle risposte fuorvianti che non giovano ne al forum tantomeno agli utenti.
    Sinteticamente: "Non siamo qui a pettinar le bambole"
  • Re: Copia del campo ID tra tabelle

    Ciao io non sono un assolutamente esperto di access ma ti dico che sulla query che ho creato funziona. Lunedì ricontrollo purtroppo non ho a disposizione il PC x provare nel week end.
    Con questo non voglio sminuire il lavoro di nessuno anzi... Dico semplicemente che la modifica x qualche strano motivo ha funzionato.
    Nella query trovo ID A AGGIORNATO in query tabella se vuoi posso inviare il database nessun segreto di stato.
  • Re: Copia del campo ID tra tabelle

    Ciao Gianni55 ho controllato ripulendo e ripopolando il mio database e purtroppo devo dire che hai ragione...

    la cosa molto molto strana è che venerdi per qualche strana motivazione l'aggiornamento ha funzionato. Questa mattina invece come da te indicato non aggiorna nulla. Mi chiedo come sia possibile che abbia aggiornato la tabella.

    Provo a smanettare di nuovo
  • Re: Copia del campo ID tra tabelle

    ornello ha scritto:


    Ciao Gianni55 ho controllato ripulendo e ripopolando il mio database e purtroppo devo dire che hai ragione...
    Ornello, io non avevo bisogno di conferme, l'esempio che ho fatto era per farti comprendere cosa sono i db "relazionali" che non capirai mai fino a quando le tue prove non li farai con esempi concreti, non basati su tab a b etc.
    Detto questo e tornando al mio esempio, stabilita la "Relazione logica" che ogni Provincia ha diversi comuni, NON esiste alcun modo di attribuire l'idProvincia ad ogni Comune in maniera massiva, se non quello che si verifica al momento del Caricamento del Comune.
    Es. io carico il comune di Taormina ed in questo frangente prelevo con una combo l'idProvincia dalla Tab provincia e lo inserisco
    nella tab comuni.
    la cosa molto molto strana è che venerdi per qualche strana motivazione l'aggiornamento ha funzionato. Questa mattina invece come da te indicato non aggiorna nulla. Mi chiedo come sia possibile che abbia aggiornato la tabella.
    La cosa non è strana per nulla e l'errore è ripetibile, come?
    Se togli lo Join la tab Comuni verrà aggiornata con gli idprovincia ma hai noi in modo indiscriminato, senza nessuna relazione tra le due tabelle, in breve troveremmo Latina in provincia di Messina, Taormina in Prov di Milano...etc, ecco perchè gli esempi devono essere concreti, sempre.
    Provo a smanettare di nuovo
    A parte la mia innata intolleranza al verbo "smanettare", di freudiana memoria, in questo caso urge che smetti di "smanettare" per intraprendere la via dello studio. (scusa la mia ironia non riesco a smettere...andrò in analisi prima che mi ci mandi qualcuno in TSO")
    Saluti
  • Re: Copia del campo ID tra tabelle

    Ciao Gianni55,
    Venerdi non ho avuto modo di controllare le correlazioni numeriche tra i vari ID delle tabelle ed in effetti solo oggi ho notato l'errore che mi ha tratto in inganno.
    Grazie ancora comunque !!! sia per la spiegazione che per la disponibilità.
  • Re: Copia del campo ID tra tabelle

    ornello ha scritto:


    Ciao Gianni55,
    Venerdi non ho avuto modo di controllare le correlazioni numeriche tra i vari ID delle tabelle ed in effetti solo oggi ho notato l'errore che mi ha tratto in inganno.
    Grazie ancora comunque !!! sia per la spiegazione che per la disponibilità.
    Figurati, saluti
Devi accedere o registrarti per scrivere nel forum
26 risposte