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

VBA Access Discussion :

Fonction retournant une objet de type recipients


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut Fonction retournant une objet de type recipients
    Bonjour,

    pour faciliter ma génération de recipients pour les mails/taches/meeting que je crée via mon application, j'ai essayer de créer la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Public Function GetRecipients(ByVal taskId As Long) As recipients
        Dim recipients As recipients
        Dim rs As Recordset
        Set rs = CurrentDb.OpenRecordset( _
            "SELECT Tbl_WD11_Contacts.contactEmailBus " & _
            "FROM Tbl_WD11_Contacts INNER JOIN (Tbl_WD22_Tasks INNER JOIN Tbl_WD25_TaskInvolvement ON Tbl_WD22_Tasks.taskId = Tbl_WD25_TaskInvolvement.InvolvTaskId) ON Tbl_WD11_Contacts.ContactId = Tbl_WD25_TaskInvolvement.involvContactId " & _
            "WHERE (((Tbl_WD22_Tasks.taskId)=" & taskId & "))" _
        )
     
        Do While Not rs.EOF
            recipients.Add (rs.Fields("contactEmailBus"))
        Loop
     
        GetRecipients = recipients
     
        rs.Close
    End Function
    J'obtiens l'erreur suivante :
    Run-time error '91':
    Object variable or With block variable not set.
    Apparement, il faut que j'initialise ma variable recipients avant de l'utiliser. Comment fait-on ca ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    A tout hasard: change le nom de ta variable (c'est comme ) et essaye de mettre sinon, où est l'erreur exactement?

    6ril25
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    j'ai modifier le nom de ma variable recipients en v_recipients mais j'ai toujours la même erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Public Function GetRecipients(ByVal taskId As Long) As recipients
        Dim v_recipients As recipients
        Dim rs As Recordset
        Set rs = CurrentDb.OpenRecordset( _
            "SELECT Tbl_WD11_Contacts.contactEmailBus " & _
            "FROM Tbl_WD11_Contacts INNER JOIN (Tbl_WD22_Tasks INNER JOIN Tbl_WD25_TaskInvolvement ON Tbl_WD22_Tasks.taskId = Tbl_WD25_TaskInvolvement.InvolvTaskId) ON Tbl_WD11_Contacts.ContactId = Tbl_WD25_TaskInvolvement.involvContactId " & _
            "WHERE (((Tbl_WD22_Tasks.taskId)=" & taskId & "))" _
        )
     
        Do While Not rs.EOF
            v_recipients.Add (rs.Fields("contactEmailBus"))
        Loop
     
        GetRecipients = v_recipients
     
        rs.Close
    End Function
    L'erreur se produit au moment du :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v_recipients.Add (rs.Fields("contactEmailBus"))

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    et le Set??
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    Erreur de syntaxe.

    Compile error:

    Expected: =

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    peux-tu me donner le contenu de ton format "recipients"
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par 6ril25 Voir le message
    le contenu de ton format "recipients"
    Mon format recipients ? Qu'est ce que c'est ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    et bien tu code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Function GetRecipients(ByVal taskId As Long) As recipients
        Dim v_recipients As recipients
    tu le sors d'où, ce "recipients"??
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    de Outlook.Recipients

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Alors je crois pouvoir te dire que ce format n'est pas reconnu, sinon, y'aurais un "R" (recipients)

    Je pense qu'il te manque une librairie ou Outlook.Recipients
    Vérifie ta référence
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par 6ril25 Voir le message
    Je pense qu'il te manque une librairie
    Vérifie ta référence
    Pourtant j'ai bien la référence "Microsoft Access 10.0 Object Library" activée.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    et tu as essayé d'écrire Outlook.recipients??

    Parce que si le "r" de recipients ne se met pas en majuscule, ou si Access ne te propose pas "recipients" après le "." de outlook, y'a un soucis dans tes références.
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    Je viens de faire un petit test. Ce n'est pas un problème de références.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function GetRecipients(ByVal taskId As Long) As Outlook.Recipients
        Dim v_recipients As Outlook.Recipients
        v_recipients.Add "user@company.com"
        GetRecipients = v_recipients
    End Function
    Il se passe une erreur au moment de l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v_recipients.Add "user@company.com"

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    c'est pas plutôt Recipient et .address ??

    à tout hasard...

    6ril25
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/12/2010, 12h04
  2. retourner une date de type different.
    Par Mobistar dans le forum Langage
    Réponses: 8
    Dernier message: 22/01/2007, 11h45
  3. Réponses: 6
    Dernier message: 30/08/2006, 18h05
  4. Réponses: 6
    Dernier message: 14/02/2006, 11h29
  5. fonction retournant une valeur
    Par ryan dans le forum ASP
    Réponses: 4
    Dernier message: 06/09/2004, 17h45

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