Se ho ben capito, il problema consiste (Come tu stesso dici) nel fatto che la query DISPONIBILITAGIUSTA non estrae dei prodotti perchè sono presenti in GIACENZA ma non in IMPEGNATO.
Per capirci meglio se x esempio hai una condizione di questo tipo:
* qryGiacenze*
Codice | Qt
C1 | 10
C2 | 20
C3 | 30
* qryImpegnato*
Codice | Qt
C1 | 4
C2 | 6
La query DISPONIBILITA' GIUSTA (con i dati di esempio) sarà di questo tipo:
* qryDisponibilità giusta *
Codice | Qt disponibile
C1 | 6
C2 | 14
o sbaglio qualcosa?
Non capisco (Se ci ho azzeccato) perchè non riporti nella query della disponibilità giusta anche i record dove non c'è la corrispondenza con il prodotto
e ciòè invece di fare un RIGHT JOIN da qryImpegnato a qryGiacenze
'...FROM giacenze RIGHT JOIN impegnati ON giacenze.cod_articolo = impegnati.cod_articolo... '
perchè non fai un LEFT JOIN
' ...FROM giacenze LEFT JOIN impegnati ON giacenze .cod_articolo = impegnati .cod_articolo..' ???
x ottenere una cosa simile:
* qryDisponibilità giusta *
Codice | Qt disponibile
C1 | 6
C2 | 14
C3 | 30