Jesuel uma sugestão use o msflexgrid muito mais versatil de trabalhar veja este exemplo:
em dao
Me.MousePointer = 11
Set RsTemp = BancoDeDados.OpenRecordset("Select Posição,tempo, Nome,Idade from Súmula Where Categoria = '" & CmbCategoria & "' and Local = '" & txtlocalcompetição & "'and Idade > '" & Limite.Text & "' and Data = #" & Format(txtdatacompetição, "mm/dd/yyyy") & "# order by posição asc")
If Not RsTemp.EOF Then
With MSFlexGrid1
.Rows = 1
.Cols = 4
.ColWidth(0) = 500
.ColWidth(1) = 800
.ColWidth(2) = 3050
.ColWidth(3) = 1000
.TextMatrix(0, 0) = "Lugar"
.TextMatrix(0, 1) = "Tempo"
.TextMatrix(0, 2) = "Nome Do Atleta"
.TextMatrix(0, 3) = "Categoria"
End With
i = 1
Do While Not RsTemp.EOF
With MSFlexGrid1
.Rows = i + 1
.ColAlignment(0) = flexAlignCenterCenter ' alinha coluna
.TextMatrix(i, 0) = RsTemp(0)
.ColAlignment(1) = flexAlignCenterCenter ' alinha coluna
.TextMatrix(i, 1) = RsTemp(1)
.ColAlignment(2) = flexAlignLeftCenter
.TextMatrix(i, 2) = RsTemp(2)
.ColAlignment(3) = flexAlignCenterCenter
.TextMatrix(i, 3) = RsTemp(3)
End With
i = i + 1
RsTemp.MoveNext
Loop
End If
ou se você quiser em dbgrid veja este exemplo