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 :

Appel Requête via Macro ne tourne pas


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Points : 86
    Points
    86
    Par défaut Appel Requête via Macro ne tourne pas
    Bonjour à tous,
    J'ai un soucis dans un code VBA que je ne comprends pas du tout

    J'appelle une requête Access via une macro. Mais elle n’exécute pas la requête.

    Quand je lance la requête manuelle, elle s’exécute.

    Je ne vois pas comment régler ce problème??

    Merci d'avance pour votre aide!

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Bonjour,
    Vous pouvez essayer ceci:
    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
    Function executer_une_Query()
    Dim strMaFacture As String
    Dim strSQL As String
     
    'ceci execute la query mais demande à l'utilsateur de confirmer en interrompant la procédure et avec un message à l'écran
    DoCmd.OpenQuery "Query5"
     
     
    DoCmd.SetWarnings False
    'ceci execute la query et ne demande pas à l'utilsateur de confirmer parce que les SetWarnings suppriment le message à l'écran
    DoCmd.OpenQuery "Query5"
    DoCmd.SetWarnings True
     
    'ceci exécute la query et ne demande pas à l'utilsateur de confirmer
    CurrentDb.Execute "query5"
     
    'on peut exécuter un statement SQL
    CurrentDb.Execute "INSERT INTO [maTableDeFactures] ( Fact, Fact_D )SELECT '123' AS F, Now() AS F_D"
     
    'ce genre de chose permet de modifier la query SQL dans le code VBA :
    strMaFacture = "F123"
    strSQL = "INSERT INTO [maTableDeFactures] ( Fact, Fact_D )SELECT '" & strMaFacture & "' AS F, Now() AS F_D"
    CurrentDb.Execute strSQL
     
     
    'Veuillez noter que toutes ces queries sont des queries d'action qui modifient les données dans la table.
    'pour exécuter une simple query 'SELECT' qui affiche simplement une sélections de lignes à l'écran, il faut préciser comme ceci :
    DoCmd.OpenQuery "Query7", acViewNormal
     
     
    End Function

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Points : 86
    Points
    86
    Par défaut
    Merci pour le retour.

    Dans mon code, j'utilise le DoCmd.SetWarnings False et True..

    Mais je ne vois pas en quoi cette commande '( ou sans ) bloquerait l'exécution de mon code..??

  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    bonjour,
    Apres le Docmd et le nom de la query, avez-vous essayé une des options proposées par VBA ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.OpenQuery "MaQuery",acViewNormal

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Points : 86
    Points
    86
    Par défaut
    non, j'appelle mes requêtes de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "Nom de ma requête"
    Pour être plus précis, j'ai un module où j'ai une dizaine de requêtes de Mise à jour que j'appelle de cette façon.

    A la fin de mon code, je vois certaines requêtes qui ont été exécutés et d'autres non...

    Pour celles qui n'ont pas tourné, quand je les fais exécuter manuellement, elle tournent comme il faut.. Du coup je ne comprends pas la raison...

    Merci encore pour vos réponses

Discussions similaires

  1. [VBA] [5.1.8] Créer une requête BO (via Macro depuis Excel)
    Par Bretonnie dans le forum SDK
    Réponses: 6
    Dernier message: 08/04/2015, 18h20
  2. Appeler requête via bouton dans écran
    Par castorameur dans le forum SAGE
    Réponses: 6
    Dernier message: 02/08/2012, 12h54
  3. [AC-2010] Requête via listbox multi-critères sans VBA --> Possible via macro?
    Par Greg12345 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/11/2011, 20h20
  4. Erreur en appelant une requête via JDBC
    Par Lolitaaa dans le forum JDBC
    Réponses: 2
    Dernier message: 15/06/2010, 12h33
  5. Réponses: 3
    Dernier message: 22/01/2010, 14h54

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