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 :

Requête SQL dans VBA pour effectuer un calcul [Toutes versions]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut Requête SQL dans VBA pour effectuer un calcul
    Bonjour à tous,
    je suis un peu perdu dans ce forum. J'ai cherché avant de poster mon message.
    J'ai un petit soucis avec une requête SQL que je veux faire sous VBA (avec DAO) pour accéder à une table, récupérer tous les enregistrement qui répondent à certains critères, ensuite sommer les nombres contenus dans une colonne et afficher le résultat dans un champs texte.
    Voici à quoi ressemble mon code pour le moment
    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
     
    ' Déclaration des vars
    Dim db As DAO.Database, qry As DAO.QueryDef
    Dim strRequete As String, strSQL As String
     
    'Form![CoutTotalActions].Value = "Bonjour les dégats"
    Set db = CurrentDb
       ' Crée le code SQL et le met dans la variable strSQL
       strSQL = "SELECT Sum(Produit.PrixProduit) "
       strSQL = strSQL & "FROM Produit "
     
       'CreerInstSqlCmdesClient (strSociete)
       ' On s'assure que la requête n'est pas ouverte.
       DoCmd.Close acQuery, strSQL
       ' Tente d'obtenir l'objet QueryDef correspondant à
       ' la requête. Si elle n'existe pas une erreur se produit
       On Error Resume Next
       Set qd = db.QueryDefs(strSQL)
       On Error GoTo 0
     ...
    Je ne sais pas aller plus loin, notamment pour exécuter la requête SQL que je viens de définir et récupérer les résultats, çàd: faire la somme des lignes de la colonne qui est renvoyée en résultat.

    Par avance, merci de votre aide
    "Car enfin, qu’est-ce que l’homme dans la nature ? Un néant à l’égard de l’infini, un tout à l’égard du néant, un milieu entre rien et tout."
    Blaise PASCAL

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    ce tutoriel devrait vous aider :
    http://jdgayot.developpez.com/tutori...ultats-labels/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par Arkham46 Voir le message
    bjr,

    ce tutoriel devrait vous aider :
    http://jdgayot.developpez.com/tutori...ultats-labels/
    Bonjour Arkham,
    Je vous remercie pour cette proposition,
    j'avoue que je suis resté un peu sur ma fin avec ce tuto.
    Celui-ci renvoie toujours vers des requêtes faites avec Access, or moi je n'arrive pas à le faire avec Access, je dois passer par du VBA.
    Du coup, je ne sais pas comment faire le lien entre le moment où je définis la requête strSQL et le moment où je récupère le résultat de l'execution de celle-ci
    "Car enfin, qu’est-ce que l’homme dans la nature ? Un néant à l’égard de l’infini, un tout à l’égard du néant, un milieu entre rien et tout."
    Blaise PASCAL

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Lincoln911
    Bonjour Arkahm46.

    Je penses que tu n'as pas bien lu le tuto en question. Il y a plusieurs options possibles. Requêtes classiques, RechDom, et Vba.
    D'ailleurs si tu charges le fichier de Démo, tu verras qu'il n'y a pas de requêtes Access. mais que du Vba.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par GAYOT Voir le message
    Bonjour Lincoln911
    Bonjour Arkahm46.

    Je penses que tu n'as pas bien lu le tuto en question. Il y a plusieurs options possibles. Requêtes classiques, RechDom, et Vba.
    D'ailleurs si tu charges le fichier de Démo, tu verras qu'il n'y a pas de requêtes Access. mais que du Vba.
    Oui, cela étant dit, je ne trouve pas ce que je cherche: comment exécuter une requête SQL dans VBA, récupérer son résultat et l'utiliser.
    J'ai relu le tuto mais ça ne m'aide pas dans ce sens, les requêtes dans celui-ci, sont faites via l'interface d'Access...
    "Car enfin, qu’est-ce que l’homme dans la nature ? Un néant à l’égard de l’infini, un tout à l’égard du néant, un milieu entre rien et tout."
    Blaise PASCAL

  6. #6
    Invité
    Invité(e)
    Par défaut
    As tu été à la section "<section id="II-C-1-a"" par exemple?
    As tu téléchargé le fichier?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par GAYOT Voir le message
    As tu été à la section "<section id="II-C-1-a"" par exemple?
    As tu téléchargé le fichier?
    Salut GAYOT,
    merci pour cette aide.
    oui je viens de relire la section en question. J'ai fait le test avec le fichier inclus en exemple. ça marche parfaitement...mais
    Je ne sais pas comment transposer ça à ma problématique, qui consiste à sommer les lignes de la colonne obtenue.
    "Car enfin, qu’est-ce que l’homme dans la nature ? Un néant à l’égard de l’infini, un tout à l’égard du néant, un milieu entre rien et tout."
    Blaise PASCAL

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par GAYOT Voir le message
    As tu été à la section "<section id="II-C-1-a"" par exemple?
    As tu téléchargé le fichier?
    Salut GAYOT;
    j'ai fini pr trouver la solution à mon problème. Il fallait pour moi faire la somme depuis la requête SQL (fallait aussi éviter les erreurs dans les références aux variables )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ' Crée le code SQL et le met dans la variable strSQL
       strSQL = "SELECT Sum(Produit.PrixProduit) "
       strSQL = strSQL & "FROM Produit "
    ' Ouvrir le résutat de la requete
       Set rsRecordset = db.OpenRecordset(strSQL, dbOpenSnapshot)
       ' Afficher le champs avec index
       intNbr = rsRecordset.Fields(0)
    J'espère que cela va servir à quelqu'un pour éviter de perdre du temps
    "Car enfin, qu’est-ce que l’homme dans la nature ? Un néant à l’égard de l’infini, un tout à l’égard du néant, un milieu entre rien et tout."
    Blaise PASCAL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Problème requête sql dans vba
    Par Alex70 dans le forum Excel
    Réponses: 1
    Dernier message: 21/08/2013, 11h48
  2. [AC-2003] Exécuter une Requête SQL dans VBA
    Par domik dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/08/2010, 13h22
  3. [AC-2003] Récupération résultats requête SQL dans VBA
    Par rberniga dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 19/08/2009, 11h28
  4. Problème avec requête SQL dans VBA
    Par Mimisio dans le forum VBA Access
    Réponses: 10
    Dernier message: 13/07/2007, 11h00
  5. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29

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