Creo que esto es lo que quieres hacer, pero no estoy muy seguro.
SELECT Left(tblClientes.CliCoPo,2) AS Provincia, Count(*) AS Contador, EXPEDIC.EXPANNO, tblClientes.CliPais, Sum(EXPEDIC.EXPKILO) AS SumaDeEXPKILO, Sum(EXPEDIC.EXPBULT) AS SumaDeEXPBULT, (SumaDeEXPKILO/SumaDeEXPBULT) AS Expr3
FROM dbo_Provincia, EXPEDIC, tblClientes WHERE EXPEDIC.EXPDCOD = tblClientes.CliCodi AND dbo_Provincia.CODProvincia = Provincia GROUP BY Provincia, EXPEDIC.EXPANNO, tblClientes.CliPais
HAVING (((EXPEDIC.EXPANNO)=2004) AND ((tblClientes.CliPais)="ES"))
ORDER BY Provincia);
Creo que seria asi, lo que he hecho es modificar tu consulta diciendo que la tabla de expedic y tblclientes se relacionan por el codigo del clientes y la tabla de dbo_provincia con tblclientes se relacionan por el campo codprovincia que son 2 digitos y el nuevo campo solo existente en la consulta Provincia que es los dos primeros digitos del campo clicopo de tblclientes.
Si no es definitivo dimelo e intentare buscar el fallo, si si lo fuera pues decite que si alguna vez tienes alguna duda de informatica postea en
www.forodetodo.es.mw y te contestare encantado