La tua query diventa così :
codice:"SELECT idcontratto, (SELECT COUNT(*) FROM tabprodcont where idcontratto = tabc.idcontratto) as NumProd FROM tabcontratto tabc WHERE codiceagente = '"&agente&"' AND accettato = true AND datacont BETWEEN #"&strdaData&"# AND #"&straData&"#"