Aggiornamento tabelle simultaneamente

di
Anonimizzato10097
il
9 risposte

Aggiornamento tabelle simultaneamente

Ciao a tutti, eccomi qui con un altro quesito...
Sto facendo un database per conto di un'azienda di autotrasporti, ho creato varie tabelle, l'id con chiave primaria l'ho lasciato invariato e lo lascio decidere ad access, ogni tabella ha un campo con lo stesso nome e cioe' " Targa"... il mio quesito e': e' possibile che vengano aggiornate contemporaneamente tutte le tabelle nel campo targa quando ne scrivo una su una qualsiasi tabella?
In poche parole vorrei che quando scrivo un numero di targa in una tabella si aggiornassero anche tutti gli altri campi "targa" delle altre tabelle! Se si (come credo)... come si fa?
Grazie

9 Risposte

  • Re: Aggiornamento tabelle simultaneamente

    Luciopooh ha scritto:


    ciao a tutti, eccomi qui con un altro quesito...
    Sto facendo un database per conto di un'azienda di autotrasporti, ho creato varie tabelle, l'id con chiave primaria l'ho lasciato invariato e lo lascio decidere ad access, ogni tabella ha un campo con lo stesso nome e cioe' " Targa"... il mio quesito e': e' possibile che vengano aggiornate contemporaneamente tutte le tabelle nel campo targa quando ne scrivo una su una qualsiasi tabella?
    In poche parole vorrei che quando scrivo un numero di targa in una tabella si aggiornassero anche tutti gli altri campi "targa" delle altre tabelle! Se si (come credo)... come si fa?
    Grazie
    La tua richiesta è frutto di un'errore sostanziale.
    Dal momento che hai Tabelle con una PK... perchè vai a DENORMALIZZARE una struttura distribuendo un campo che non dovrebbe essere distribuito...?

    Se tu avessi gestito i legami tra le tabelle con la PK non avresti questo problema.

    Ti è possibile rivedere il concetto...?
    Ti eviteresti grosse complicazioni e rigidità del sistema.
  • Re: Aggiornamento tabelle simultaneamente

    Si certo lo sto ancora costruendo ma cosa intendi? In che modo posso fare? scusami ma non capisco il tuo consiglio o meglio non riesco a d interpretarlo! tieni presente che comincio ora ad usare access quindi parti dal presupposto che molti concetti per te ormai acquisisti sono per me ancora da imparare... grazie per i consigli e soluzioni!
  • Re: Aggiornamento tabelle simultaneamente

    Luciopooh ha scritto:


    si certo lo sto ancora costruendo ma cosa intendi? In che modo posso fare? scusami ma non capisco il tuo consiglio o meglio non riesco a d interpretarlo! tieni presente che comincio ora ad usare access quindi parti dal presupposto che molti concetti per te ormai acquisisti sono per me ancora da imparare... grazie per i consigli e soluzioni!
    Potresti prendere ad ESEMPIO il DB che viene distribuito con l'installazione di Office chiamato NorthWind.mdb(accdb).
    Questo Database di Esempio chiarisce molto bene come devono essere gestiti alcuni scenari usando un'esempio tipico di una gestione Spedizioni Materiali.

    Di fatto non mi è chiaro come hai strutturato il tuo progetto, per questo servirebbe che tu potessi leggere qualche documento BASE sulla normalizzazione dei Database, sono concetti non semplici ma fondamentali per chi lavora con i Database Relazionali.
    L'errore tipico di chi lavora per le prime volte con Access è di ipotizzare una gestione come si fa con EXCEL, nulla di più SBAGLIATO.

    In sostanza ti faccio un'esempio ...!
    Ogni Regione ha molte province.
    Se io mi creo una Tabella REGIONI ed una Tabella PROVINCE posso inserire nella tabella PROVINCE un campo che mi relaziona la singola Provincia con la Regione.
    Questo campo non è il NOME della Regione ma l'indice del Record.
    Es:
    
    TblREGIONI
    Campo1=IdRegione(PK, chiave primaria di tipo Counter autoincrementale)
    Campo2=Nome(Testo)
    1 Lombardia
    2 Piemonte
    3 Liguria
    ....
    poi ho una tabella PROVINCE
    
    Campo1=IdProvincia(PK, chiave primaria di tipo Counter autoincrementale)
    Campo2=Nome(Testo)
    Campo3=IdRegione(Chiave Esterna Numerico Intero Lungo perchè il rispettivo nell'altra TAB è Counter) 
    1 Milano 1
    2 Brescia 1
    3 Lodi 1
    ....
    10 Torino 2
    11 Vercelli 2
    12 Novara 2
    ...
    20 Genova 3
    21 Savona 3
    In questo modo le 2 Tabelle possono essere RELAZIONATE da una RELAZIONE definita 1-MOLTI.
    Al fine di rendere gestibile la Relazione serve che i Campi Chiave della Relazione siano definiti in modo specifico.
    Lato Tabella REGIONI il campo IDRegione deve essere definito CHIAVE PRIMARIA NON DUPLICATA.
    Lato Tabella PROVINCE il campo IdProvincia sarà definito come il campo IdRegione dell'altra Tabella, ma il campo IdRegione sarà definito come Numerico.

    Ora c'è una sezione del DB che consente di disegnare le RELAZIONI tra le tabelle dal Menù STRUMENTI---->RELAZIONI.

    In questa finestra trascinando il campo IDREGIONE(TabREGIONI) sul Campo IdRegione(TabProvince) si crea la relazione.

    In questo modo se MONTI domani decide, per fare un dispetto a BOSSI, che la LOMBARDIA non si chiama più così ma si chiama PIPPO, basterà cambiare il Nome del Record 1 della Tabella REGIONI, non devi trascinarti il Nome PIPPO.

    Saluti.
  • Re: Aggiornamento tabelle simultaneamente

    Grazie Alex, sto guardando e seguendo i tuoi consigli... ok ho fatto una prova sulle mie tabelle ma purtroppo non accade quello che vorrei...Ti spiego cosa ho fatto:
    Tabella "Automezzi":
    Nomecampi: Targa - id Automezzi - Modello - marca - Affidatari
    per l'id Automezzi ho seguito il tuo consiglio
    quindi chiave primaria, contatore, duplicati non ammessi

    Tabella "Affidatari":
    NomeCampi: Targa - Id Affidatari - Nome - Cognome - Telefono - Id AutomezziPer l'id Affidatari come sopra, per l'id Automezzi ho messo numerico intero lungo, non c'e' nessun segno di chiave sulla sinistra della struttura pero'... giusto?

    Sono andato in relazioni ed ho relazionato idAutomezzi della tabella "Automezzi" con l'id automezzi della Tabella "Affidatari", nelle caratteristiche ho selezionato "applica integrita' referenziale e aggiorna campi correlati a catena.
    Vado ad inserire i dati nella tabella automezzi che ha messo un segno + sulla sinistra (so che e' inerente alla relazione).... ok ma non succede nulla.
    Quando la compilo nella tabella affidatari non mi compaiono i dati della targa che ho inserito dalla tabella automezzi... Spero di esserimi spiegato.....Sono disperato!!!!!
  • Re: Aggiornamento tabelle simultaneamente

    Scusa ma se un'Automezzo può avere più Affidatari quello che hai fatto non va bene... è l'esatto opposto.

    Ricrodi... 1Regione Molte Province.

    Un Automezzo Molti Affidatari.

    Nel tuo caso però la cosa si complica, ed in questi gg si è trattato questo argomento molte volte.
    Credo tu possa necessitare di 3 Tabelle.
    Tabella Automezzi
    Tabella Affidatari(Anagrafica)
    Tabella DettaglioAffidatariAutomezzi
    
    TblAutomezzi              TblDettaglioAffidatariAutomezzi
    (PK) IdAutomezzo(1)<--->(00)IdAutomezzo
                              IdPK                                        TblAffidatari
                              IdAffidatario     (00) <----------> (1) IdAffidatario(PK)
  • Re: Aggiornamento tabelle simultaneamente

    Allora fatto, infatti e' il contrario come hai detto tu.... scusa se ti rompo!
    Forse ho sbagliato tutto dall'inizio... ho fatto anche le Maschere, quando le compilo nessun problema vanno ad aggiornare le tabelle inerenti...
    Ora se schiaccio sul + e compilo la tabella che compare che e' la relazione che abbiamo fatto ok la tabella inerente la compila... e' possibile fare questo pero' direttamente dalla Maschera "Automezzi"?
  • Re: Aggiornamento tabelle simultaneamente

    Luciopooh ha scritto:


    allora fatto, infatti e' il contrario come hai detto tu.... scusa se ti rompo!
    Forse ho sbagliato tutto dall'inizio... ho fatto anche le Maschere, quando le compilo nessun problema vanno ad aggiornare le tabelle inerenti...
    Ora se schiaccio sul + e compilo la tabella che compare che e' la relazione che abbiamo fatto ok la tabella inerente la compila... e' possibile fare questo pero' direttamente dalla Maschera "Automezzi"?
    Si chiaramente, si deve gestire con una Struttura Form-SubForm(e con ComboBox di selezione)
    Se provi a studiare il Database NORTHWIND distribuito con l'installazione... avrai molti spunti.
  • Re: Aggiornamento tabelle simultaneamente

    Ok grazie sto cominciando a capire... in merito alla combo box in access mi da "casella combinata", "casella di riepilogo(controllo modulo)" e "sottomaschera/sottoreport"... in merito a quello che mi hai scritto quale delle tre potrebbe essere?
    Grazie Alex
  • Re: Aggiornamento tabelle simultaneamente

    Casella Combinata.

    Si usa solitamente proprio per Selezionare Articoli da una Tabella in modo da inserire nella Tabella di dettaglio il campo ID di riferimento...
Devi accedere o registrarti per scrivere nel forum
9 risposte