zonevinc ha scritto:
... il problema sia proprio nel LEFT JOIN che, se è vero che estrae i valori della tabella madre che non hanno corrispondenti nella tabella figlia, significa che non ci sono corrispondenti e quindi neppure lo zero.
Da ciò deduco che se non ho corrispondenti nella Tab B significa che seppur indico un valore predefinito nella tabella B (che può essere 0,10 o 200), questo valore, finquando non sarà confermato, non avrà un IDB => la query, correttamente, non lo vede xchè, effettivamente, non c'è.
Adesso ci sei, ora puoi mettere in azione la funzione Nz().
zonevinc ha scritto:
... si forza a un Non Null (nel mio caso zero)
Bene
zonevinc ha scritto:
...ed in pratica è come se trasformassi, dall'altro lato, il LEFT JOIN in un INNER JOIN
questo toglitelo dalla testa, non usarlo nemmeno come "modo di esprimerti tuo" in attesa di acquisire maggiore padronanza. Il LEFT JOIN rimane tale, con le sue caratteristiche. Applicare Nz() al campo B nella query con raggruppamento permette solo di eseguire le operazioni che la presenza del Null impedisce per la sua peculiarità: la propagazione (come quel pugile del film: "quello che lui tocca, lui rende Null")
Ovunque appare il campo B scrivi
Nz([B].[B];"0") As CampoB
e con evenutali aggiustamenti in corso d'opera (sto andando a memoria, non ho provato questo caso specifico) il risultato arriva.
Anche se questo è sicuramente solo un esempio della tua situazione da sottoporre al forum, in futuro evita l'uso di nomi di tabelle e di campi così "generico": con A e B che sono sia nomi di tabella sia nomi di campo non ci capivo niente.