Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2007, 16h35   #1
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
Par défaut Ignorer une erreur grace à la gestion des erreurs

Bonjour

Afin de me simplifier la vie j'ai utilisé un recordset dans une situation non commune. En gros j'ai ceci :

Code :
1
2
3
4
 
RS.fields("comm_pers").value = note
RS.fields("comm_clt").value= note
RS.fields("comm_document").value = note
Alors voilà mon rs est initialisé en fonction des situations, il peut soit appeler la table PERSONNEL, soit la table CLIENT, soit la table DOCUMENT. Donc pour chacun des cas il y aura qu'une ligne sur les trois qui sera valide, pour les deux autres il me renvoi une erreure d'objet non trouvé, normal.

Ce que j'aimerais c'est grace à la gestion des erreures "on error goto" faire en sorte qu'il ignore l'erreure et passe aux suivantes en toute logique.

Le hic c'est que je ne sais pas comment programmer le fait d'ignorer et de passer à la suivante.

Merci d'avance pour toute aide.
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 17h05   #2
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Bonjour !

Tu as plusieurs solutions simples :

1- tu utilises le On Error Resume Next, uniquement sur le bloc de 3 lignes concernées (ça marche, mais moi, j'aime pas du tout le On Error Resume Next. Question de principe)

2- tu considères que tu as traitements différents à faire, suivant la table d'origine.
Auquel cas, tu peux faire un test sur la table concernée par le rs !
Code :
1
2
3
4
5
6
7
 
Select Case rs.Name
    Case "Clients"
        RS.fields("NomDuchamp").value=note
    Case "Fournisseurs"
        ....
....
3- tu fais un On Error Goto.
Pour en avoir la structure de base, tu peux installer MZTools et demander la mise en palce d'un gestionnaire d'erreur dans ta procédure. tu peux aussi lire le tutoriel sur la gestino des erreurs qu'a écrit Silkyroad (http://silkyroad.developpez.com)
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 17h11   #3
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
le on resume next peut m'etre utile.

Pour le teste sur la table c'est la première chose que j'ai voulu faire mais je n'ai pas su, ah moins que, je viens de penser, si je cherche l'objet table ouvert...je vais testé tiens.

Pour le On error goto c'est ce que je pensais faire et justement vous demandais comment faire pour retourner sur la ligne de l'erreure et passer à la suivante, je vais lire le document du lien.

Merci Mr Hubiche
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h59.


 
 
 
 
Partenaires

Hébergement Web