CASELLE COMBINATE AGGIORNAMENTO

di
Anonimizzato11023
il
2 risposte

CASELLE COMBINATE AGGIORNAMENTO

Salve.
La mia è più che altro una curiosità che ho notato lavorando con Access e che non sono riuscito ancora a capire.
Ho due tabelle TAB1 e TAB2. La tabella TAB1 è così strutturata

NOME CAMPO - TIPO DATI
id contatore
ct1 testo

La tabella TAB2 è così strutturata

NOME CAMPO - TIPO DATI
id contatore
ct2 numerico

La casella combinata relativa al campo ct2 di TAB2 viene popolata tramite la seguente istruzione SQL
SELECT [TAB1].ID, [TAB1].ct1 FROM [TAB1] ORDER BY [ct1]; 
ottenuta in automatico tramite la procedura guidata del menu a tendina che compare in TIPO DATI nella visualizzazione struttura di TAB2.
Dopo aver popolato la tabella TAB2, provo a variare uno dei valori di ct1: supponiamo che ct1 possa assumere valori A B C D, io cambio A con X. A questo punto osservo che tutti i record della TAB2 relativi al campo ct2 che contenevano A vengono aggiornati in automatico e assumono il valore X.
A questo punto provo a variare la struttura di TAB2 in questo modo:

NOME CAMPO - TIPO DATI
id contatore
ct2 testo

In questo caso la casella combinata relativa al campo ct2 di TAB2 viene popolata tramite la seguente istruzione SQL (ottenuta questa volta manualmente)
SELECT [TAB1].ct1 FROM [TAB1] ORDER BY [ct1];
e modificando opportunamente i paramentri della scheda Ricerca rispetto al precedente esempio.
Popolo la TAB2 allo stesso modo di prima e tutto funziona correttamente. Ora se effettuo il solito cambiamento in ct1 di A con X, osservo che il menù a tendina di ct2 viene aggiornato correttamente, ma i record che contenevano A non vengono aggiornati, ovvero mantengono il valore A e non X.
Come mai? E' possibile ottenere l'aggiornamento in automatico come nel caso precedente?
Ho notato a tal proposito che mentre nel primo caso viene creata in automatico una relazione uno-a-molti fra id di TAB1 e ct2 di TAB2, nel secondo esempio non viene creata nessuna relazione. Ho provato così a crearla manualmente ma non ottengo ugualmente l'aggiornamento voluto.
Gongo82

2 Risposte

  • Re: CASELLE COMBINATE AGGIORNAMENTO

    La procedura guidata funziona in virtù del fatto che tu metti a confronto due tabelle compatibili. Access ne individua automaticamente le caratteristiche tecniche (Proprietà) di ogni campo e, di volta in volta, può suggerirti questa o quella relazione.

    La relazione uno-a-molti parte dal presupposto che i valori della tabella madre (TAB1) siano univoci (cioè non possono comparire più di una volta nella stessa tabella). Conseguentemente tutti i valori della tabella figlia (TAB2) cambiano di conseguenza a ragion veduta, cioè nell'analogo campo legato possono comparire anche più valori "A", "B", "X"...
    Inoltre fai attenzione, quando crei una relazione, che i campi siano omogenei, ad esempio
    ha senso collegare:
    - un campo Contatore con uno Numerico (Intero lungo)
    - un Numerico con Numerico (con analoghe proprietà)
    - Testo con Testo (con analoghe proprietà)

    non ha senso collegare:
    - Contatore con Contatore
    - Numerico a Contatore (in senso inverso)
  • Re: CASELLE COMBINATE AGGIORNAMENTO

    Chiudo il 3d, non ammettiamo il cross posting, ti invito a leggere il regolamento.
Devi accedere o registrarti per scrivere nel forum
2 risposte