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 :

Ordre SQL ne s'execute pas apres envoi de mail


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Ordre SQL ne s'execute pas apres envoi de mail
    Bonjour,

    j'ai dans mon code VBA ACCESS un envoi de mail suivi d'une mise à jour d'une table (cf fonction envoi de mail en fin de message)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sendmail
    strupdate = "...."
    currentdb.execute strupdate

    1- Si je fais l'envoi de mail l'update ne se fait jamais
    2- SI je commente sendmail, l'update se fait
    3- SI je mets un boucle permettant de faire le strupdate tant que celui ci ne se fait pas (avec compteur et sortie au bout d'un certain temps), l'update ne se fait pas

    Ainsi j'ai pu constater, le mail est bien parti dans Outlook, je suis dans ma boucle sui fait et refait l'update, mais la table n'est jamais mise à jour.

    Si je renvoie le même enregistrement en commentant le sendmail cela se met à jour.

    La requête est bonne, récupérée en debug et testée.

    Je ne vois pas du tout pourquoi cet envoi de mail empêcherait l'update de se faire sans message d'erreur particulier.

    Merci par avance pour votre aide









    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    SendMail
     
    Dim olApp As Object
    Dim objMail As Object
     
    Set olApp = GetObject(, "Outlook.Application") 'See if Outlook is open
     
     
    If Err Then 'Outlook is not open
        Set olApp = CreateObject("Outlook.Application") 'Create a new instance of Outlook
    End If
     
    'Create e-mail item
    Set objMail = olApp.CreateItem(olMailItem)
     
    With objMail
     
    'Set body format to HTML
    '.BodyFormat = olFormatHTML
    .To = Pour
    .cc = cc
    .Subject = Objet
    .HTMLBody = "La facture " & Format(tNumeroCourrier, "0000") & " validée ." & " " & tCommentaire
     
    If file <> "Aucun" Then
        .attachments.Add (file)
    End If
    .attachments.Add (Titre)
    .send
     
    End With
     
    Set objMail = Nothing
    Set olApp = Nothing

  2. #2
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut
    Bonjour,
    Si je peux me permettre, outre le fait que je ne peux pas d'aider, tu devrais utiliser le signe dièse pour encadrer ton code, je pense que tu as oublié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Insère ton code entre les deux balises
    Ton message sera compréhensible pour les autres....

    Bon courage quand même.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci pour la remarque dièse !

    J'ai fait un test, et a priori j'ai une erreur de verrou quand je fais l'update (uniquement si je fais l'envoi mail).

    Du coup si après l'envoi de mail je change de record, cela marche une fois sur deux...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SendMail
    DoCmd.GoToRecord , , acNext
    Strupdate = "...."
    Currentdb.execute strupdate
    J'aimerai bien comprendre

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé, c'est simple comme bonjour..

    Pour mettre à jour les champs de la table Active il ne faut pas faire dupdate mais simplement mettre à jour le champ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Monchamp = newvalue
    if dirty then dirty = false

Discussions similaires

  1. Mon script de commande sql ne s'execute pas !
    Par Battosaiii dans le forum SQL
    Réponses: 3
    Dernier message: 18/04/2011, 14h23
  2. [WD-2000] Word: problème de reception de lien après envoi de mail
    Par lediz dans le forum Word
    Réponses: 5
    Dernier message: 26/04/2009, 00h49
  3. l'execution de crontab ne genere pas d'envoi de mails
    Par jpspci dans le forum Administration système
    Réponses: 1
    Dernier message: 07/11/2008, 11h46
  4. Pas d'envoi de mail
    Par kippix dans le forum Administration système
    Réponses: 5
    Dernier message: 07/03/2007, 16h19
  5. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34

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