IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Appel d'une Fonction: comment savoir s'il y a une erreur


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    novembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Appel d'une Fonction: comment savoir s'il y a une erreur
    Bonjour le forum,

    J'ai 2 tites questions:

    - 1ere: Dans une fonction, je fais appel à une autre fonction qui sert à envoyer un fichier par email. S'il y a erreur sur la fonction d'envoi de mail, je j'identifie pour stopper le code. Dans ce cas, j'aimerai donc qu'au retour vers la fonction appelante, le code soit renvoyé vers Err_Handling et non qu'il se poursuive.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Function Mere()
     
    On error goto Err_Handling
     
    .
    .
    Call SendMail
    .
    .
    Err_Handling
    Exit Function
    End Function()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Function SendMail()
    On Error goto Err_Handling
    .
    Err_Handling
    Exit Function
    End Function
    - 2ieme:
    J'ai une table Settings, contenant divers paramètres (adresse email, directories,...). J'aimerai pouvoir récupérer les valeurs de cette table à la demande...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Function SendMail(AAA)
    On error goto Err_Handling
    str_mail = currentdb.openrecordset("Select Settings.email from Settings where Settings.ID = ""AAA"")
    Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
        With objOutlookMsg
             .To = str_mail
    .
    .
    End Function
    Cela ne fonctionne pas.


    D'avance merci pour votre aide.

    KiDiBoo

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2003
    Messages : 116
    Points : 143
    Points
    143
    Par défaut
    Pourquoi écrire du code si c'est pour pas qu'il soit exécuté?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function Mere() 
     
    On error goto Err_Handling 
     
    . 
    . 
    Call SendMail 
    Exit function
    Tout simplement

    Pour envoyer ton message utilise la fonction SendObject[/code]

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : octobre 2004
    Messages : 9 501
    Points : 32 270
    Points
    32 270
    Par défaut
    J'ai pas regardé le code, mais plusieurs possibilité s'offre à toi :

    La fonction ne retourne pas de résultat, dans ce cas, tu peux la faire retourner un booléen qui s'il vaut true indiquera qu'il n'y a pas eu d'erreur.

    Mais en général, si on utilise une fonction c'est pour son résultat, donc dans ce cas, tu peux utiliser un paramètre déclaré par référence Byref. Au début de la fonction tu fixe ce paramètre à false et en cas d'erreur à True. Donc si à la sortie de la fonction le paramètre passé en byref est égal à True alors il y a eu une erreur

    Autre solution (adoptée en général), ne pas traiter l'erreur dans la fonction mais la renvoyée à l'appelant

Discussions similaires

  1. Réponses: 17
    Dernier message: 16/07/2012, 15h10
  2. Réponses: 4
    Dernier message: 27/11/2009, 18h08
  3. Renommer une fonction dans un select ou concevoir autrement une fonction
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 30/05/2008, 18h17
  4. Réponses: 28
    Dernier message: 29/07/2006, 17h04
  5. Réponses: 19
    Dernier message: 26/01/2005, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo