Access
 sql >> Base de Dados >  >> RDS >> Access

Evite este erro comum ao executar o procedimento armazenado no MS Access

Evite este erro comum ao executar o procedimento armazenado no MS Access




Adoramos executar procedimentos armazenados de nosso código VBA, mas há um problema que você precisa observar:Executar um procedimento que afeta dados já carregados em seu formulário. Se você não tomar cuidado, receberá a seguinte mensagem:



Felizmente, é uma solução fácil, aqui estão algumas sugestões:
  • Feche o formulário e execute o procedimento armazenado. Isso pressupõe que você não queira revisar os dados alterados no mesmo formulário.
  • Defina a fonte de registro de formulários como nada e, em seguida, defina-a de volta para a fonte de dados original (veja o código abaixo).

Feche o formulário e execute o procedimento armazenado


Aqui está um pseudo-código para você começar:
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

Não está familiarizado com ExecuteMyCommand? Você pode procurá-lo aqui.

Defina a fonte de registro do formulário como nula

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

Junte-se a mim no dia 9 de março com o convidado especial Ebo Quansah!


Venha conhecer as novidades do Microsoft Access com Ebo, o gerente de produto do grupo Access. Para obter detalhes, clique aqui:https://accessusergroups.org/sql-server-with-access/event/sql-server-with-access-whats-new-in-access-a-presentation-by-the-access- gerente de produto/