Ciao, in realta la soluzione al tuo problema consiste nell'usare la sintassi che hai utilizzato nella parte dopo il WHERE.
Quindi, al posto di utilizzare "SELECT * FROM......" devi scrivere
"SELECT partmovv.id AS id1 , partmovv.nome_campo2 AS xx, ......, movimgg.id AS id2, movimgg.nome_campo2 AS xx,....... FROM...."
Quindi specifichi tutti i campi delle varie tabelle e per ogni campo con la parola "AS" gli assegni un alias univoco che ti identifichera ogni singola colonna.
Alla fine iProgr = RecQuery!id1 oppure iProgr = RecQuery!id2
Cmq anche se non sei tu esplicitamente ad assegnare gli alias, credo lo faccio il programma in automatico, altrimenti l'esecuzione della query dovrebbe dare errore trovando dei nomi concorrenti fra di loro.