Lo puede hacer por medio del RecordSet que "alimenta" al datagrid o por medio de datagrid directamente:
x = DataGrid1.Columns(n). Text o .Value ... (no se cual sea la diferencia)
Donde n se refiere al número de campo que quieras mostrar
x = DataGrid1.Columns(0) 'primer campo de tu consulta al RecordSet
x = DataGrid1.Columns(1) ' segundo campo de tu consulta al RecordSet
......
x = DataGrid1.Columns(n) ' n campo de tu consulta al RecordSet
Para conocer la cantidad de registros que se repiten en una tabla de access te puede servir...
SELECT DISTINCT... te hace una consulta "distintiva" de acuerdo al campo que le especifiques, creo que sirve solo para un campo... o sea, te muestra un listado de valores de ese campo sin repetirse
Si tienes como valores para CAMPO_A: 1 - 1 - 2 -3 -3 -3 -4 -4
Select Distinct de CAMPO_A te muestra: 1 - 2 - 3 -4
Con esta información puedes hacer ahora un filtro para cada tipo de valor del campo y podrás entonces conocer cuántos registros hay por cada valor en determinado campo..
También existe una sentencia llamada GROUP BY... pero como no la he usado no se para qué sirva o como funcione.... no se si con eso se resuelva tu duda..
Mucha suerte