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