Access - error 3061 tiempo de ejecución

   
Vista:

error 3061 tiempo de ejecución

Publicado por luis (9 intervenciones) el 06/08/2015 19:07:53
Saludos!

Alguien puede decirme porque me sale el siguiente error en mi código?, adelanto que no soy ningún experto.

"Se ha producido el error 3061 en tiempo de ejecución: Pocos parámetros: se esperaba 1".

Le doy a depurar y me marca una línea en amarillo (que deduzco que es dónde está el error):
Private Sub CantidadS_AfterUpdate()
'Declaramos las variables
Dim vProd As Long
Dim vCant As Integer, vCantStock As Integer
Dim rst As DAO.Recordset
'Cogemos el identificador del producto
vProd = Nz(Me.Referencia.Value, 0)
'Cogemos la cantidad introducida
vCant = Nz(Me.CantidadS.Value, 0)
'Si no hubiera cantidad introducida salimos del proceso
If vCant = 0 Then Exit Sub
'Creamos el recordset

ESTA ES LA QUE ME MARCA EN AMARILLO==> Set rst = CurrentDb.OpenRecordset("Stock", dbOpenSnapshot)

With rst
'Nos situamos en el primer registro
.MoveFirst
'Iniciamos el recorrido de registros hasta encontrar la referencia
'con la que estamos trabajando en el formulario
Do Until .EOF
'Cuando lo encontramos...
If .Fields("Id").Value = vProd Then
'Cogemos el stock existente
vCantStock = .Fields("Stock").Value
'Le restamos la cantidad que estamos sacando
vCantStock = vCantStock - vCant
Select Case vCantStock
'Si el resultado es negativo no permitimos sacar esa cantidad
Case Is < 0
MsgBox "No hay stock suficiente de este producto" & vbCrLf & vbCrLf _
& "El stock actual del producto es " & vCantStock + vCant & _
" unidades", vbCritical, "SIN STOCK"
'Borramos la cantidad introducida
Me.CantidadS.Value = Null
'Es necesario hacer un rebote de foco para volver a situar
'el enfoque en CantS
Me.Referencia.SetFocus
Me.CantidadS.SetFocus
Exit Do
'Si queda stock, pero es inferior a 10 unidades, lanza un aviso
Case Is <= 10
MsgBox "¡Atención! El stock que quedará de este producto es de " _
& vCantStock & " unidades", vbInformation, "STOCK CRÍTICO"
Exit Do
End Select
End If
.MoveNext
Loop
End With
'Cerramos conexiones y liberamos memoria
rst.Close
Set rst = Nothing
End Sub

Alguna alma caritativa por ahí?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder