Pupaz ha scritto:
...
1) perche` gli orderline3 devono essere scritti diversamente? il primo senza [], il secondo con [] ??
Dove vedi che in uno si usano le parentesi quadrate e in altro no? In generale se non ci sono caratteri particolari o spazi, l'uso delle parentesi quadrate per il nome del campo (e delle tabelle) non è obbligatorio. Con quei nomi di tabella, però (usare gli alias, se possibile, sarebbe caldamente consigliato) meglio usare la notazione estesa [nometabella].[nomecampo] per evitare ogni rischio
Pupaz ha scritto:
...2) di seguito ho scritto il codice completo che mi serve, e funziona
fino a quando TUTTE le tabelle hanno almeno un record aggiornabile.
Ma, se almeno 1 tabella e` senza record, si blocca tutto. Perche`? E cosa dovrei aggiungere?
Ricorda che "si blocca tutto" è una descrizione del problema che non aiuta, devi essere più preciso.
Penso di poter rispondere, comunque, in base a quanto avevo già scritto
Philcattivocarattere ha scritto:
... una SQL di questo tipo
UPDATE Tab1, Tab2 SET Tab1.CampoX = Tab2.CampoY
restituirebbe come numero di record da aggiornare il prodotto cartesiano delle due tabelle
Se una sola delle tabelle elencate dopo UPDATE non ha record il loro prodotto cartesiano è una query senza record, quindi non può aggiornare niente. Ecco che ha preso corpo il però che mi rodeva ieri.
O fai N query di UPDATE distinte, una per ogni tabella da aggiornare, o usi vba per fare la stessa cosa cambiando solo la tabella da aggiornare. Scelgo la seconda.
E' comunque l'intera procedura un po' macchinosa ma... dobbiamo fidarci del fatto che si debba agire su quelle tabelle in quel modo, nel senso dell'update prendendo il dato da una tabella che contiene un record solo ecc ecc.