Aggiornamento valori dopo modifiche con casella combinata

di il
17 risposte

Aggiornamento valori dopo modifiche con casella combinata

Buongiorno a tutti,
vi spiego brevemente il mio problema:

In un database ho due tabelle, una con un elenco di imprese ed una con un elenco di lavoratori. La tabella lavoratori ha un campo "Impresa" che viene popolato attraverso una casella combinata che pesca nella tabella imprese. Quindi nella tabella lavoratori più lavoratori potrebbero avere la stessa impresa. Il mio problema è che quando, dalla tabella delle imprese, modifico il nome di un impresa a cui sono associati più lavoratori, nella tabella lavoratori non si aggiorna il nome dell'impresa. Come posso fare? Forse devo agire sulle relazioni tra le tabelle? E se si, in che modo?

Spero di essere stato chiaro. Diversamente chiedetemi altre info e cercherò di essere più chiaro.

Grazie a tutti quelli che avranno la cortesia di rispondermi.

Emiliano

17 Risposte

  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Salve,
    Vai sulle relazioni sulla linea di union > modifica relazione > spunta su aggiorna campi correlati a catena.
    saluti
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Prima cosa, è evidente tu non abbia minimamente idea di cosa sia una Relazione, men che meno 1-Molti, perchè hai fatto un esempio che va contro il principrio della logica relazione... è esattamente il contrario...!
    Una AZIENDA può avere MOLTI LAVORATORI, e questo definisce il Rapporto 1-Molti quindi sono i Lavorarori che vanno assegnati all'azienda e non viceversa... parlo a livello concettuale.
    Detto questo spero che un lavoratore non possa appartenere a Molte Aziende, altrimenti ricadi in 3°FN(Terza Forma Normale... le forme normali sono 5) e le cose possono complicarsi...

    Prima di tirare righe senza sapere cosa fanno prova a leggere qualche cosa su cosa sia un DB Relazionale e come si gestiscono le caratteristiche principali come Chiavi Primarie, Chiavi Esterne, univocità... ecc... poi tiri righe di legame tra le tabelle.
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Buongiorno di nuovo,
    probabilmente non sono riuscito a spiegarmi. Ho impostato una relazione "uno a molti" applicando l'integrità referenziale e spuntando i campi "Aggiorna campi correlati a catena" e "Elimina campi correlati a catena" affinchè ad una impresa siano associati più lavoratori e non viceversa.
    Per creare la relazione "uno a molti" ho agito cosi:
    - Ho creato, nella tabella "Impresa", un campo ID impostato come chiave primaria
    - Ho creato, nella tabella "Lavoratori", un campo ID_Impresa con tipo dati "numerico"
    - Nella pagina delle relazioni ho impostato il JOIN con la relazione "uno a molti" come sopra detto.
    Ora mi accade che, modificando il nome di un'impresa, lo stesso non si aggiorni nella tabella "lavoratori". Chiaramente, quando tramite query, faccio il filtro sul nome dell'impresa modificata per ricercare i lavoratori associati, non mi esce nessun risultato.

    Grazie ancora a tutti!
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Nella Tabella "Lavoratori" NON DEVI AVERE il Nome Imparesa, hai già il Campo FK che lega il Lavoratore all'impresa, quindi quello che dici a meno di un GROSSO errore concettuale, riportare il Nome Impresa in Tabella Lavorarori, non può verificarsi.
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Qui puoi vedere un'esempio

    https://app.boolebox.com/app/index.html?obj=380038003200390036003500380034003900300038003700320034003700380032003400
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    @Alex ha scritto:


    Nella Tabella "Lavoratori" NON DEVI AVERE il Nome Imparesa, hai già il Campo FK che lega il Lavoratore all'impresa, quindi quello che dici a meno di un GROSSO errore concettuale, riportare il Nome Impresa in Tabella Lavorarori, non può verificarsi.
    Indipendentemente dalla relazione, io ho necessità che il nome impresa venga comunque visualizzato nella tabella lavoratori...
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Infatti ho provato e funziona correttamente.
    Tu devi tuttavia capire che sbagli in modo molto grossolano.
    La prima cosa importante è capire che i dati nelle Tabelle li devi lasciare stare... si devono gestire le Maschere, tu hai fatto in modo che i dati della Tabella lavoratori fossero rintracciabili con una Query basata sulla Tabella Imprese... ma ti manca un pezzo...
    L'aggiornamento dati avviene solo se si AGGIORNA la visualizzazione, e questo è uno dei motivi per cui NON SI USANO LE TABELLE.
    Se tu usassi le maschere, potresti intercettare le opeazioni UTENTE di modifica e di conseguenza andare ad apportare l'aggiornamento conseguente con il metodo Refresh o Requery a seconda.
    Tu invece apri le tabelle probabilmente in contemporanea e modificando una ti aspetti si aggiorni l'altra..., questo in realtà accade, ma tu non lo vedi a meno di non premere F5...
    Tuttavia questo metodo è assolutamente da EVITARE... come ti ho detto si usano le Maschere.
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    CarlettoFed ha scritto:


    Qui puoi vedere un'esempio

    https://app.boolebox.com/app/index.html?obj=380038003200390036003500380034003900300038003700320034003700380032003400
    Ciao Carlo,
    nell'esempio che hai postato ho visto che la chiave primaria "IDImpresa" della tabella impresa è collegata al campo "IDImpresa" della tabella lavoratori. Che tipo di campo è "IDImpresa" della tabella lavoratori? Numerico, testo, ...?
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    @Alex ha scritto:


    Infatti ho provato e funziona correttamente.
    Tu devi tuttavia capire che sbagli in modo molto grossolano.
    La prima cosa importante è capire che i dati nelle Tabelle li devi lasciare stare... si devono gestire le Maschere, tu hai fatto in modo che i dati della Tabella lavoratori fossero rintracciabili con una Query basata sulla Tabella Imprese... ma ti manca un pezzo...
    L'aggiornamento dati avviene solo se si AGGIORNA la visualizzazione, e questo è uno dei motivi per cui NON SI USANO LE TABELLE.
    Se tu usassi le maschere, potresti intercettare le opeazioni UTENTE di modifica e di conseguenza andare ad apportare l'aggiornamento conseguente con il metodo Refresh o Requery a seconda.
    Tu invece apri le tabelle probabilmente in contemporanea e modificando una ti aspetti si aggiorni l'altra..., questo in realtà accade, ma tu non lo vedi a meno di non premere F5...
    Tuttavia questo metodo è assolutamente da EVITARE... come ti ho detto si usano le Maschere.
    Alex,
    io sono un autodidatta di access e sicuramente sbaglierò come dici tu in maniera molto grossolana, il fatto però è che sei passato dalle relazioni alle maschere. Allora aggiungo ancora un'altro pezzo che ti faccia capire meglio... Il database che ho creato è gestito tramite maschere. Ho una maschera di menu che, dopo aver selezionato l'impresa tramite una casella combinata che pesca nella tabella imprese, mi apre un altra maschera lavoratori filtrando solo i lavoratori dell'impresa selezionata. Ho ancora un'altra maschera che, dopo aver selezionato l'impresa nella maschera di menu, mi permette di modificare il nome dell'impresa. Succede che, modificando il nome dell'impresa (nella maschera di modifica impresa), aprendo poi la maschera lavoratori non mi trovi nessun lavoratore associato a quell'impresa. In sostanza il nome dell'impresa modificato non si è aggiornato nella tabella lavoratori. Aggiungo infine che anche chiudendo e riaprendo il database, la problematica persiste. Tu dici che sia un problema di maschere? Devo impostare il me.requery all'apertura delle maschere?
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Emiljx ha scritto:


    CarlettoFed ha scritto:


    Qui puoi vedere un'esempio

    https://app.boolebox.com/app/index.html?obj=380038003200390036003500380034003900300038003700320034003700380032003400
    Ciao Carlo,
    nell'esempio che hai postato ho visto che la chiave primaria "IDImpresa" della tabella impresa è collegata al campo "IDImpresa" della tabella lavoratori. Che tipo di campo è "IDImpresa" della tabella lavoratori? Numerico, testo, ...?
    E' ovviamente NUMERICO... poi per recuperare il NomeImpresa si usano le Query che consentono l'autoLookUp.

    L'esempio di Carlo, è strutturato correttamente, ma NON SI GESTISCE nelle tabelle.
    Il problema di essere AUTODIDATTA è spesso un'alibi non un problema... io sono autodidatta, ma ho studiato molto per colmare le mie lacune, e se non riusciamo ad avere qualche punto di partenza chiaro come concetti si fa fatica perchè ti si parla pensando tu abbia qualche base, ma tu non comprendi quello che ti viene esposto... come facciamo a comunicare se tecnicamente sei senza basi...?
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    @Alex ha scritto:


    Emiljx ha scritto:


    CarlettoFed ha scritto:


    Qui puoi vedere un'esempio

    https://app.boolebox.com/app/index.html?obj=380038003200390036003500380034003900300038003700320034003700380032003400
    Ciao Carlo,
    nell'esempio che hai postato ho visto che la chiave primaria "IDImpresa" della tabella impresa è collegata al campo "IDImpresa" della tabella lavoratori. Che tipo di campo è "IDImpresa" della tabella lavoratori? Numerico, testo, ...?
    E' ovviamente NUMERICO... poi per recuperare il NomeImpresa si usano le Query che consentono l'autoLookUp.

    L'esempio di Carlo, è strutturato correttamente, ma NON SI GESTISCE nelle tabelle.
    Il problema di essere AUTODIDATTA è spesso un'alibi non un problema... io sono autodidatta, ma ho studiato molto per colmare le mie lacune, e se non riusciamo ad avere qualche punto di partenza chiaro come concetti si fa fatica perchè ti si parla pensando tu abbia qualche base, ma tu non comprendi quello che ti viene esposto... come facciamo a comunicare se tecnicamente sei senza basi...?
    Alex perdonami eh, senza entrare in polemica. Ho provato a cercare in rete la soluzione alla mia problematica e ho deciso di scrivere qui per avere anche un confronto e rendere la cosa più attiva. Ora tu non fai altro che dire che io non so le cose (e questo può essere anche vero) senza però abbassare il tuo livello conoscitivo e cercare di essere utile. Mi aspetto suggerimenti più che critiche... sono troppo pretenzioso?
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Emiljx ha scritto:


    ...
    Alex perdonami eh, senza entrare in polemica. Ho provato a cercare in rete la soluzione alla mia problematica e ho deciso di scrivere qui per avere anche un confronto e rendere la cosa più attiva. Ora tu non fai altro che dire che io non so le cose (e questo può essere anche vero) senza però abbassare il tuo livello conoscitivo e cercare di essere utile. Mi aspetto suggerimenti più che critiche... sono troppo pretenzioso?
    Devi comprendere che questo è un forum Tecnico, non rappresenta un Sito di Corsi ONLINE, motivo per cui incontri dei tecnici del settore che possono dare indicazioni.
    Noi non siamo nella condizione di sapere quali sono le lacune di chi scrive, nè possiamo tarare le risposte in modo da fornire dei Corsi a chi fa domande per colmare prima le sue lacune...!
    Quello che può fare il Forum è di fornire una risposta Tecnica specifica sul problema di dettaglio, delegando poi all'utente la parte più importante di apprendimento...
    Il Forum non eroga CORSI nè CODICE PRONTO.

    Le domande che poni, e lo ripeto senza voler essere riduttivo, trovano risposte in una lettura di un manuale di utilizzo del prodotto per utenti non avanzati... costituiscono la base del prodotto che stai usando, ma risulta complicato farti capire quale deve essere la solizione da adottare se tecnicamente parliamo 2 lingue diverse.
    Ho cercato di farti capire, e l'esempio che ti è stato postato da Carlo è abbastanza chiaro(pur sapendo che serve gestire eventi nelle maschere) di come si deve operare, ma se non sai cosa sono le Query nè come si usano nè come si gestiscono i dati nelle maschere ed il loro flusso rispetto alle tabelle, è evidente che non ti serve una risposta ma un Corso a più vasto spettro.

    Se le cose stanno così probabilmente hai frainteso in relazione all'utilizzo di un Forum.
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Le maschere del mio database prendono i dati non dalle tabelle ma bensi da query filtrate in base a valori inseriti su caselle combinate. Seppur io sia un autodidatta a livello base non sono proprio digiuno di concetti base. Continui a fare la morale ma nn proponi soluzioni (anche basiche). Probabilmente hai ragione...pensavo fosse un forum di access per programmatori di vari livelli di conoscenza...e invece no...é un forum di alti conoscitori (...a me sembra, nel tuo caso, un po troppo saccenti e poco umili...) grazie lo stesso alex...
  • Re: Aggiornamento valori dopo modifiche con casella combinata

    Le risposte le hai avute ed anche molto chiare... non fare il Calimero, rileggi e cerca di non pretendere ti si spieghi come ad un bimbo di 2 anni, come dicevo se non hai le basi, prima te le fai, poi parliamo in modo tecnico, le altre sciocchezze le lasciamo al Bar, non quì nel Forum.

    P.S. se volessi farti la morale credimi avrei usato altri termini.
Devi accedere o registrarti per scrivere nel forum
17 risposte