Saludos, primero hay q ver como estas haciendo el reporte si utilizas un query lo puedes hacer agrupando algo asi
'select ventas.codiprod,productos.descprod,count(ventas.codiprod) as cantidad from ventas,productos where ventas.codiprod=productos.codiprod group by ventas.codiprod
ese mas u menos seria el query aunque claro aqui no tengo visual basic para probarlo y asegurarte q es el correcto pero la idea es q realices una sentencia sql donde agrupes por el codigo de producto y uno de los campos sea la cantidad de productos vendidos.
Ahora si haces el reporte de otra manera como por ejemplo utilizar una tabla temporal, la cosa es mas sencilla es pura programación un ciclo para recorrer la tabla ventas e ir pasando a la temporal dependiendo si ya se agrego ese producto o no lo agrega o lo acumula y lo cuenta, etc..., claro eso haria la aplicacion mas pesada y tal vez no sea lo mas correcto pero en aplicaciones donde la cantidad de registros no es muy grande es algo valido.
Espero te sirva si no logras hacerlo me avisas por este medio y te envio un ejemplo sencillo, saludos desde venezuela