sql >> Base de Datos >  >> RDS >> Access

Evite este error común al ejecutar un procedimiento almacenado en MS Access

Evite este error común al ejecutar un procedimiento almacenado en MS Access

Nos encanta ejecutar procedimientos almacenados desde nuestro código VBA, pero hay un problema que debe tener en cuenta:ejecutar un procedimiento que afecta los datos que ya están cargados en su formulario. Si no tiene cuidado, recibirá el siguiente mensaje:

Afortunadamente, es una solución fácil, aquí hay algunas sugerencias:

  • Cierre el formulario y luego ejecute su procedimiento almacenado. Esto supone que es posible que no desee revisar los datos modificados en el mismo formulario.
  • Establezca la fuente de registro de formularios en nada, luego vuelva a establecerla en la fuente de datos original (consulte el código a continuación).

Cierre el formulario y luego ejecute el procedimiento almacenado

Aquí tienes un pseudocódigo para que empieces:

Private Sub RunSomeProcedure()
Dim lngOrderID as Long

'Assuming you need to pass information from your form to the stored procedure, for example, an OrderID
lngOrderID = Me.OrderID 'If you don't store the info it will not be available after closing the form

DoCmd.Close acForm, Me.Name 'This closes the form
ExecuteMyCommand "uspStoredProcedureName " & lngOrderID

End Sub

¿No está familiarizado con ExecuteMyCommand? Puedes buscarlo aquí.

Establecer el origen del registro del formulario en nulo

Private Sub RunSomeProcedure()
Dim lngOrderID as Long
Dim strRecordSource as String

'Assuming you need to pass information from your form to the stored procedure, for example, an OrderID
lngOrderID = Me.OrderID 'If you don't store the info it will not be available after closing the form

strRecordSource = Me.RecordSource 'Store the recordsource for later use
Me.RecordSource = vbNullString
ExecuteMyCommand "uspStoredProcedureName " & lngOrderID
Me.RecordSource = strRecordSource 'Restore the form so that the user can see the updated data

End Sub

¡Únete a mí el 9 de marzo con el invitado especial Ebo Quansah!

Ven y aprende lo último sobre Microsoft Access con Ebo, el gerente de producto del grupo Access. Para obtener más información, haga clic aquí:https://accessusergroups.org/sql-server-with-access/event/sql-server-with-access-whats-new-in-access-a-presentation-by-the-access- gerente de producto/