Gérer les erreurs dans un enchainement de fonctions
3 réponses
Valérie
Bonjour,
J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle
mettant à jour de nombreuses tables à l'aide de boucles. Pour tenter de
resumer, je dirais que j'enregistre dans une table des lignes de façon
hierarchique grace à un code "liaison" qui rappelle le numéro
d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une
erreur, la procédure va s'arreter en cours de route alors qu'une partie de
mes enregistrements aura pu etre deja validée dans ma table finale, j'aurai
le debut de ma "hierarchie" sans la fin car une erreur est survenue. Comment
dire : si une erreur survient j'annule tout ce qui a pu etre fait depuis le
debut ? Je precise que la table finale dans laquelle j'enregistre est une
table liée. Merci pour vos réponses !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
Regarde du côté des transactions en ADO comme en DAO, tu peux gérer les méthodes BeginTransaction, committransaction et rollbacktransaction Tu utilises begintransaction avant tes fonctions committransaction à la fin de la chaîne de tes fonctions si tout est ok. Si erreur, tu uilises rollbacktransaction qui permet d'annuler tout ce qui a été fait depuis begintransaction
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Valérie" a écrit dans le message de news: 42958f93$0$3129$
Bonjour, J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle mettant à jour de nombreuses tables à l'aide de boucles. Pour tenter de resumer, je dirais que j'enregistre dans une table des lignes de façon hierarchique grace à un code "liaison" qui rappelle le numéro d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une erreur, la procédure va s'arreter en cours de route alors qu'une partie de mes enregistrements aura pu etre deja validée dans ma table finale, j'aurai le debut de ma "hierarchie" sans la fin car une erreur est survenue. Comment dire : si une erreur survient j'annule tout ce qui a pu etre fait depuis le debut ? Je precise que la table finale dans laquelle j'enregistre est une table liée. Merci pour vos réponses !
Bonjour
Regarde du côté des transactions
en ADO comme en DAO, tu peux gérer les méthodes
BeginTransaction, committransaction et rollbacktransaction
Tu utilises begintransaction avant tes fonctions
committransaction à la fin de la chaîne de tes fonctions si tout est ok.
Si erreur, tu uilises rollbacktransaction qui permet d'annuler tout ce qui a
été fait depuis begintransaction
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Valérie" <mabaldenews@wanadoo.fr> a écrit dans le message de news:
42958f93$0$3129$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle
mettant à jour de nombreuses tables à l'aide de boucles. Pour tenter de
resumer, je dirais que j'enregistre dans une table des lignes de façon
hierarchique grace à un code "liaison" qui rappelle le numéro
d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une
erreur, la procédure va s'arreter en cours de route alors qu'une partie de
mes enregistrements aura pu etre deja validée dans ma table finale,
j'aurai le debut de ma "hierarchie" sans la fin car une erreur est
survenue. Comment dire : si une erreur survient j'annule tout ce qui a pu
etre fait depuis le debut ? Je precise que la table finale dans laquelle
j'enregistre est une table liée. Merci pour vos réponses !
Regarde du côté des transactions en ADO comme en DAO, tu peux gérer les méthodes BeginTransaction, committransaction et rollbacktransaction Tu utilises begintransaction avant tes fonctions committransaction à la fin de la chaîne de tes fonctions si tout est ok. Si erreur, tu uilises rollbacktransaction qui permet d'annuler tout ce qui a été fait depuis begintransaction
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Valérie" a écrit dans le message de news: 42958f93$0$3129$
Bonjour, J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle mettant à jour de nombreuses tables à l'aide de boucles. Pour tenter de resumer, je dirais que j'enregistre dans une table des lignes de façon hierarchique grace à un code "liaison" qui rappelle le numéro d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une erreur, la procédure va s'arreter en cours de route alors qu'une partie de mes enregistrements aura pu etre deja validée dans ma table finale, j'aurai le debut de ma "hierarchie" sans la fin car une erreur est survenue. Comment dire : si une erreur survient j'annule tout ce qui a pu etre fait depuis le debut ? Je precise que la table finale dans laquelle j'enregistre est une table liée. Merci pour vos réponses !
Pierre CFI [mvp]
bonjour il te faut gérer les transactions regarde l'aide vba à BeginTrans, il y a des exemples qui t'aideront
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net
"Valérie" a écrit dans le message de news: 42958f93$0$3129$
Bonjour, J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle mettant à jour de nombreuses tables à l'aide de boucles. Pour tenter de resumer, je dirais que j'enregistre dans une table des lignes de façon hierarchique grace à un code "liaison" qui rappelle le numéro d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une erreur, la procédure va s'arreter en cours de route alors qu'une partie de mes enregistrements aura pu etre deja validée dans ma table finale, j'aurai le debut de ma "hierarchie" sans la fin car une erreur est survenue. Comment dire : si une erreur survient j'annule tout ce qui a pu etre fait depuis le debut ? Je precise que la table finale dans laquelle j'enregistre est une table liée. Merci pour vos réponses !
bonjour
il te faut gérer les transactions
regarde l'aide vba à BeginTrans, il y a des exemples qui t'aideront
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
"Valérie" <mabaldenews@wanadoo.fr> a écrit dans le message de news: 42958f93$0$3129$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle mettant à jour de nombreuses tables à l'aide de boucles.
Pour tenter de resumer, je dirais que j'enregistre dans une table des lignes de façon hierarchique grace à un code "liaison" qui
rappelle le numéro d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une erreur, la procédure va s'arreter en
cours de route alors qu'une partie de mes enregistrements aura pu etre deja validée dans ma table finale, j'aurai le debut de ma
"hierarchie" sans la fin car une erreur est survenue. Comment dire : si une erreur survient j'annule tout ce qui a pu etre fait
depuis le debut ? Je precise que la table finale dans laquelle j'enregistre est une table liée. Merci pour vos réponses !
bonjour il te faut gérer les transactions regarde l'aide vba à BeginTrans, il y a des exemples qui t'aideront
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net
"Valérie" a écrit dans le message de news: 42958f93$0$3129$
Bonjour, J'ai une procédure vba qui enchaine plusieurs fonctions, chacune d'elle mettant à jour de nombreuses tables à l'aide de boucles. Pour tenter de resumer, je dirais que j'enregistre dans une table des lignes de façon hierarchique grace à un code "liaison" qui rappelle le numéro d'enregistrement "pere". Si au milieu de tout cet enchainement j'ai une erreur, la procédure va s'arreter en cours de route alors qu'une partie de mes enregistrements aura pu etre deja validée dans ma table finale, j'aurai le debut de ma "hierarchie" sans la fin car une erreur est survenue. Comment dire : si une erreur survient j'annule tout ce qui a pu etre fait depuis le debut ? Je precise que la table finale dans laquelle j'enregistre est une table liée. Merci pour vos réponses !
Valérie
Merci pour vos réponses rapides. Je vais voir cette méthode.
Merci pour vos réponses rapides. Je vais voir cette méthode.