que me falta para que funcione bien del todo

matamala
18 de Noviembre del 2003
que me falta aqui por que realiza bien el codigo pero al llegar al último registro me da el error no coinciden los tipos.

Private Sub Command1_Click()
Dim numeroRegistro As Integer
Dim I As Integer
numeroRegistro = Data1.Recordset.RecordCount
For I = 1 To numeroRegistro
Data1.Recordset.MoveNext
ctYear1.DayColor(DBGrid1.Columns(0), DBGrid1.Columns(1)) = &HC0C0FF
Next I
End Sub
esto es lo siguiente cuado doy al command me coje los datos del dbgrib1. de la columumna 0 que es el mes de la colummna 1 que el dia.
va al formulario con el calendario y marca de color rojo el dia que corresponde a la lectura de las colummnas mencionadas.
pero cuando llega al ultimo lo hace tambien bien pero me manda el error mencionado nno coinciden los tipos.
que ago mal.
gracias por adelantado y un saludo a [email protected]

Baltasar
18 de Noviembre del 2003
El error creo que está en que primero mueves y luego haces la operación, o sea, que deberías primero hacer el ctYear1.Day .- . . . y en la línea siguiente Data1.recordset.movenext, porque de la manera que lo estás haciendo, te estás saltando siempre el primer elemento, no lo habías visto?

De todos modos estás usando un método muy arriesgado para recorrer el recordset. La propiedad recordcount no siempre te devuelve el número de registros, depende del tamaño de la tabla, que a veces devuelve un valor menor.
El mejor método es:

do while not data1.recordset.eof
ctYear1.DayColor(DBGrid1.Columns(0), DBGrid1.Columns(1)) = &HC0C0FF
Data1.Recordset.MoveNext
loop

de esa manera recorres todo el recordset hasta que llega al final.

Saludos