Évitez cette erreur courante lors de l'exécution d'une procédure stockée dans MS Access
Nous adorons exécuter des procédures stockées à partir de notre code VBA, mais il y a un problème auquel vous devez faire attention :l'exécution d'une procédure qui affecte les données déjà chargées sur votre formulaire. Si vous ne faites pas attention, vous obtiendrez le message suivant :
Heureusement, c'est une solution facile, voici quelques suggestions :
- Fermez le formulaire, puis exécutez votre procédure stockée. Cela suppose que vous ne souhaitiez peut-être pas revoir les données modifiées sur le même formulaire.
- Définissez la source d'enregistrement des formulaires sur rien, puis redéfinissez-la sur la source de données d'origine (voir le code ci-dessous).
Fermer le formulaire puis exécuter la procédure stockée
Voici un pseudo-code pour vous aider à démarrer :
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
Vous n'êtes pas familier avec ExecuteMyCommand ? Vous pouvez le consulter ici.
Définissez la source d'enregistrement du formulaire sur null
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
Rejoignez-moi le 9 mars avec l'invité spécial Ebo Quansah !
Venez découvrir les dernières nouveautés sur Microsoft Access avec Ebo, le chef de produit du groupe Access. Pour plus de détails, veuillez cliquer ici :https://accessusergroups.org/sql-server-with-access/event/sql-server-with-access-whats-new-in-access-a-presentation-by-the-access- chef de produit/