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 :

Comment recuperer la valeur d'une case d'une requete en VBA access


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Points : 103
    Points
    103
    Par défaut Comment recuperer la valeur d'une case d'une requete en VBA access
    Bonjour a tous , j ai fait le tour de la faq et je crois pas que se probleme a été deja provoqué ici

    bon voila j ai une requete qui me donne le temps de production de chaque machine , ce que je veus savoir moi c est le temps de production moyen de tout l atelier pour cela il me faudra acceder au valeur de chaque case de ma requete
    voici ma requete

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Tableau.TRP From Tableau WHERE Tableau.machine = zonetext.text and Tableau.semaine = zonetext2.text

    merci à vous dans l attente d une reponse mes salutations les plus distinguées

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    Voila pour la requête d'une moyenne tu mets avg devant le champ que tu désires.
    Après je ne suis pas sur que c'est exactement ce que tu veux mais ca peut t'éclairer
    Après au niveau des conditions de la requête j'en ai pas mis parce que je sais pas à quoi correspond ta table tableau.
    J'ai donc considéré ici que le tableau contenait toutes les machines et que celle-ci étaient toutes dans le meme atelier

    Select avg(Tableau.TRP) FROM Tableau

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    Bonjour Kalvin,
    regarde du côté de la fonction moyenne en SQL : AVG()

    La fonction VBA qui permet d'avoir aussi un résultat est DAvg().

    Regarde l'aide en ligne pour les syntaxes possibles.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Points : 103
    Points
    103
    Par défaut merci
    Merci probleme de moyenne regler à l aide de la fonction AVG() merci à vous

    1-maintenant dans la meme table je veux faire la meme chose mais au lieu de calculer la moyenne je veux la somme de toutes les cases de ma requete merci

    je precise que tableau c'est une table de données qui regroupe toutes les informations concernant mon atelier en gros c'est ma vraie base de données

    2-j ai une autre petite question svp, dans la faq j ai trouvé la fonction la CurrentDb.OpenRecordset qui permet d'executer une requete, mais faudra un petit peu nous expliquer comment sa marche exemple : l execution de ma requete est associer au click sur un bouton, sur le generateur de code de mon bouton j ai mis CurrentDb.OpenRecordset("nom de ma requete") mais sa me renvoi une erreur d execution 3061 "trop de parametres.1attendu" est ce que sa veut dire que sa me retourne quelque chose et je dois metre sa result = CurrentDb.OpenRecordset("nom de ma requete") si oui je dois declaré mon result sous quel forme svp ("recordeset,string, tabl.......) sinon expliquez moi svp la sinification de mon erreur et si possible la solution

    dans l attente de vos reponses je vous remercie, et je precise que la faq m a trop aider à avancer dans mon projet

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    Salut,
    il ne faut pas oublier qu'en plus de la fameuse FAQ, des sources et d'autres informations sont disponibles un peu partout.

    Concernant la somme, je te redirige vers ce paragraphe du cours de SQL Pro : http://sql.developpez.com/sqlaz/select/#L4.6

    Pour le OpenRecordset, un long article sur la manipulation de données avec DAO par Warin est aussi à ta disposition : http://warin.developpez.com/access/dao/
    et plus particulièrement http://warin.developpez.com/access/d...=partie_5#L5.2

    Bonne lecture
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Points : 103
    Points
    103
    Par défaut
    merci je m y met de suite et exuse moi si je te derange c est mon deuzieme jour sur ce forum alors forcement je connais pas toutes les sections , je vous tiens au courant de mon evolution allez c partie pour une bonne lecture

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Points : 103
    Points
    103
    Par défaut
    Pour la somme c est bon j ai reussi à avoir les resultats que je voulais merciiiiiiiiiii

    pour le RecordSet j ai pas bien compris sa sera sympa si vous repondez à mes questions parceque je suis pas assez balaise en access

    voila ma requete
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Taleau.semaine FROM Tableau WHERE Tableau.semaine = 10
    je sais que pour executer une requete on utilise : CurrentDb.OpenRecordset
    sa serai plu simple si vous me donnez un exemple de requete appelé dans un formulaire et est ce que c est necessaire de mettre une macro pour l executer ou pas ?
    le syntaxe excat? ce qu'elle renvoie?

    Merci de me repondre clairement

    merci a vous et dsl si je suis un peu chiant

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 63
    Points
    63
    Par défaut
    Salut,

    pour le CurrentDb.OpenRecordset :

    Je te donne un exemple pour mon cas (je découvre plus ou moins les requetes SQL en VBA et donc vu comment j'ai galéré je veux bien donner mon exemple, si ça peut servir à des gens !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim Variable As String, requeteSQL As String, ValeurChamp1 As Variant
    Dim rst As Recordset
     
    Variable = "Code02"
    requeteSQL = "SELECT NomChamp1 FROM NomDeLaTable " _ 
    & " WHERE (((NomChamp2)='" & Variable & "')); "
    Set rst = dbs.OpenRecordset(requeteSQL)
    ValeurChamp1 = rst.Fields("NomChamp1")
    Par contre, si ton résultat de requete contient plusieurs réponses, ou si tu n'es pas sur qu'elle en contienne au moins une il faut absolument faire des tests (par exemple If NOT rst.EOF then ...)

    Autre remarque, tout ce qui suit entre le nom de la table et le WHERE correspond à un saut de ligne dans ton code VBA.

    Bon voilà,
    je ne sais pas si c'était vraiment ça ta réponse mais bon.. Ca peut toujours servir je pense.

    Secco

Discussions similaires

  1. Comment recuperer la valeur d'un variable dans une methode actionlisner
    Par javacafe dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/05/2014, 15h39
  2. recuperer la valeur d'un DBEdit d'une form dans une autre form
    Par Abou Zar dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/06/2010, 08h33
  3. [XSLT] comment recuperer la valeur d'un noeud dans une variable
    Par enzostar dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/04/2010, 23h03
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Réponses: 0
    Dernier message: 21/01/2009, 13h52

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