Hola a todos
Tengo un stored procedure como origen de datos de una pantalla acces, el sp
es como sigue:
ALTER PROCEDURE [dbo].[SPVistaClientes]
AS
SELECT [Código de Cliente],
[Código del Proveedor],
[ID de Cliente],
[Código ALKO],
[CIF/DNI],
[Razón Social],
Nombre,
Dirección,
Fax,
Movil,
[Telefono 2],
[Telefono 1],
[E-Mail],
Web,
[Código Postal],
[Fecha de Alta],
[Código de Banco],
Banco,
[Código de Sucursal],
[Código de Cuenta],
[DC 1],
[DC 2],
[Dirección de la Sucursal],
[Población de la Sucursal],
[Dia de Pago 1],
[Dia de Pago 2],
[Dia de Pago 3],
Portes,
[Descuento Pronto Pago],
Observaciones,
[Cuenta Bloqueada],
Población,
Clientes.[ID de Población],
Clientes.[ID de Grupo de Compras],
Clientes.[ID de Forma de Pago],
Provincia,
[Grupo de Compras],
[Forma de Pago]
FROM dbo.Provincias RIGHT OUTER JOIN
dbo.Poblaciones RIGHT OUTER JOIN
dbo.[Grupo de Compras] RIGHT OUTER JOIN
dbo.Clientes LEFT OUTER JOIN
dbo.[Formas de Pago] ON dbo.Clientes.[ID de Forma de Pago] = dbo.[Formas de
Pago].[ID de Forma de Pago] ON
dbo.[Grupo de Compras].[ID de Grupo de Compras] = dbo.Clientes.[ID de Grupo
de Compras] ON
dbo.Poblaciones.[ID de Población] = dbo.Clientes.[ID de Población] ON
dbo.Provincias.[ID de Provincia] = dbo.Poblaciones.[ID de Provincia]
RETURN
Cuando intento hacer un find en el campo [Código de Cliente], de la forma
miconsulta.find criterios
siendo criterios= "[Id de Cliente]=" & me.[Cliente].column(2)
el campo [Cliente] es un combobox donde la columna 1 es el nombre del
cliente y la columna 2 es [id de cliente]
SIEMPRE APARECE EL MISMO ERROR
Se ha producido el Error # -2147217887 (80040e21) en tiempo de ejecucion por
Microsoft cursor engine. La operacion en varios pasos genero errores,
compruebe los valores de estado.
El codigo access que da el error es:
Private Sub Código_de_Cliente_Change()
On Error GoTo etiqueta
Dim criterios As String
Dim miconsulta As New ADODB.Recordset
DoCmd.Hourglass True
Set miconsulta = Me.RecordsetClone
criterios = "[ID de Cliente]= " & Me![Código del Proveedor].Column(2)
With miconsulta
.Find criterios
Me![Código del Proveedor].Value = Me![Código del Proveedor].OldValue
If .EOF Then
MsgBox "No se encuentra el Código del Proveedor: " & Me![Código del
Proveedor].Value
Else
Me.Bookmark = .Bookmark
End If
End With
DoCmd.Hourglass False
etiqueta:
If Err.Number <> 0 Then
MsgBox "Error # " & str(Err.Number) & " was generated by " & Err.Source & "
" & Err.Description
End If
End Sub
El error aparece en la sentencia .find criterios
Alguien sabe porque se produce el error?. El error me aparece cuando uso un
stored procedure, si uso una consulta no me da el error, pero el rendimiento
es nefasto.
Saludos
Leer las respuestas