Asignar a un ComboBox elementos de un Campo

Hola Aja:
Ahora quiero agregar a un ComboBox los elementos de un campo pero me marca error si abro un recorset tipo Table y con un tipo Dynaset me muestra solo 2 elementos del campo en el combo y son 9 elementos. ¿Qué pasa?. Este es mi código:
Private Sub Form_Load()
Dim M As Integer
Dim dbInvFiltros As Database
Dim rstExistencias As Recordset
Dim I As Integer
Set dbInvFiltros = OpenDatabase("c:\InvFiltros.mdb")
Set rstExistencias = dbInvFiltros.OpenRecordset("Existencias")
For M = -15 To 31
cboFechaM1.AddItem Date + CDate(M)
Next M
'Leer el campo Tipo para desplegar en el cboTipoM1 la lista
rstExistencias.MoveFirst
For I = 0 To rstExistencias.RecordCount
cboMaquinaM1.AddItem rstExistencias.Fields("Máquina")
cboTipoM1.AddItem rstExistencias.Fields("Tipo")
rstExistencias.MoveNext
Next I
txtNumero.Text = rstExistencias.RecordCount
End Sub
¿Es por el tipo de recorset?
En txtNumero se muestran el # de registros
Respuesta
1
Creo que el problema está en el RecordCount, que no siempre indica la cantidad de registros devueltos por la consulta. Mi consejo es que siempre que accedas a Recordset utilices código de este tipo:
I = 0
While Not rstExistencias.EOF
cboMaquinaM1.AddItem rstExistencias.Fields("Máquina")
cboTipoM1.AddItem rstExistencias.Fields("Tipo")
rstExistencias.MoveNext
I = I + 1
Wend
txtNumero.Text = I
No dudes en preguntar nuevamente si tienes alguna pega.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas