Error \'94\'en tiempo de ejecucion

LLanes
26 de Febrero del 2004
hola disculpen por no poner el código de la pregunta que hice ayer .
sucede que hago la conexion a la base de datos manualmente por código y entonces este es el código que utilizo

Option Explicit

Private cnn As ADODB.Connection
Private WithEvents rst As ADODB.Recordset

Private Sub Form_Load()


'Indicar el path correcto de la base de datos
'!! Acuerdate de poner el Path correcto !!

'Crear los objetos

Dim ruta As String
Dim strBarra As String

cmdCancelar.Visible = False
cmdUpdate.Visible = False
Text1(0).Enabled = False
Text1(1).Enabled = False
cmdCancelar.Visible = False
cmdAdd.Visible = True
cmdMover(0).Enabled = True
cmdMover(1).Enabled = True
cmdMover(2).Enabled = True
cmdMover(3).Enabled = True
cmdRPTCocinero.Enabled = True
cmdSalir.Enabled = True
cmdDelete.Enabled = True
cmdEdit.Visible = True

strBarra = Right(App.Path, 1)

If strBarra = "" Then

ruta = "DIJO """ + App.Path + "ESCANDALLO(Ia).mdb"
Else

ruta = App.Path + "ESCANDALLO(Ia).mdb"
End If

Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
'
'
'Crear la conexion manualmente

' Usar "Provider=Microsoft.Jet.OLEDB.3.51;" para bases de Access 97
' Usar "Provider=Microsoft.Jet.OLEDB.4.0;" para bases de Access 2000




With cnn
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=" & ruta & ";"
.Open
End With
' Indicarle de que tabla vamos a leer los datos
rst.Open "SELECT * FROM cocinero", cnn, adOpenDynamic, adLockOptimistic
'
' Asignar los nombres de los campos a las etiquetas

cmdMover_Click 0

End Sub

Private Sub rst_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)

' Cada vez que el registro actual cambie,
' se producirá este evento (igual que con el DataControl)

With rst

'----------------------------------------------------------------------
' Nota aclaratoria del 18/Dic/2003:
' Cuando en un Recordset no hay datos, tanto BOF como EOF devuelven True
'----------------------------------------------------------------------

If .EOF And .BOF Then
lblData.Caption = "No hay ningún registro activo"
.MoveFirst

ElseIf .EOF Then
cmdMover(2).Enabled = False


ElseIf .BOF Then
cmdMover(3).Enabled = False

Else

Text1(0) = .Fields("codcocin").Value

' Por si el dato es nulo, añadirle una cadena vacia

Text1(1) = .Fields("nombre") & ""

End If

End With

End Sub

Private Sub cmdMover_Click(Index As Integer)
' Mover según el botón pulsado
'On Error Resume Next
'
With rst

If Index = 0 Then ' Primero
.MoveFirst
cmdMover(2).Enabled = True

ElseIf Index = 1 Then ' Anterior
.MoveLast
cmdMover(3).Enabled = True

ElseIf Index = 2 Then ' Siguiente
.MoveNext
cmdMover(3).Enabled = True

ElseIf Index = 3 Then ' Último
.MovePrevious
cmdMover(2).Enabled = True
End If
'
If .BOF Then
.MoveFirst
lblData.Caption = "Es el principio de la base de datos"
ElseIf .EOF Then
.MovePrevious
lblData.Caption = "Es el final de la base de datos"
End If
End With
'
Err = 0
End Sub

Private Sub cmdAdd_Click()

On Error GoTo adderr

addnew:
rst.addnew

Exit Sub
adderr:
GoTo addnew
End Sub