Error combo

Magaly
01 de Diciembre del 2003
Hola, tengo unos combos cargados de una base de datos, y me da un problema,, hay veces que no selecciono ningun valor de los que estan en el combo y clickeo fuera del combo (en el form) y me da un error '3021' en tiempo de ejecución: <<Bof or Eof is true, or the current record has been deleted; the operation requested by the application requires a current record.>>>y le doy a depurar y me marca la linea: << while not rs.fields("campo").value=combo2.text>>
Antes yo ya comparo si bof y eof es true.
Gracias por el interes.

Miron
01 de Diciembre del 2003
Este error que te da esta claro que es por culpa de que el recordset no esta cargado o bien has llegado al final de el, lo que me extraña mucho es que no pongas la conficio de Not EOF , en el While, pero bueno no sabiendo lo que hace el programa todo es posible, lo que me imagino es que dentro del bucle lo comprobaras, lo que podrias hacer es un Do While ... Loop. Y dentro del bucle poner un if rs.EOF then Exit Do End if , y te cargas el bucle. Por supuesto antes de entrar en el bucle pregunta si el EOF esta a true.
Otra manera muy simple de preguntar si trabajas con ADO es por el rs.RecordCount.

Bueno espero que te funcione.

Magaly
01 de Diciembre del 2003
Sigo con el problema,, lo e probado con el Do while ... loop. este es mi código,, e puesto una manera para recoger el error. me falta pulirlo,, pero haber si me aconsejais. Private Sub Combo2_Click() 'SELECCIONAR CODIGO TIPO Y LABEL6=NOMBRE CODIGO TIPO

If rs.EOF = True And rs.BOF = True Then

Else
rs.MoveFirst
On Error GoTo et
While Not rs.Fields("codigotip").Value=
Combo2.Text
On Error GoTo et
rs.MoveNext
Wend

Label6.Caption = rs.Fields("nombrecod").Value
Combo3.Enabled = True

End If
et:
MsgBox "TE DA ERROR" 'MENSAJE

End Sub

Juan
01 de Diciembre del 2003
El siguiente código no lo he probado, pero es lo que
creo que deberías hacer:


Private Sub Combo2_Click() 'SELECCIONAR CODIGO TIPO Y LABEL6=NOMBRE CODIGO TIPO

If Not(rs.EOF = True And rs.BOF = True) Then
rs.MoveFirst
On Error GoTo et
Do While Not rs.EOF
On Error GoTo et
rs.MoveNext
If rs.Fields("codigotip").Value = Combo2.Text
Then
Label6.Caption = rs.Fields("nombrecod").Value
Combo3.Enabled = True
Exit Do
End If
Loop ' Esa pseudopalabra Wend es feísima

End If
Exit Sub ' Si no sales el mensaje se ve siempre
et:
MsgBox "TE DA ERROR" 'MENSAJE

End Sub