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 :

Afficher résultat requete dans msgbox


Sujet :

VBA Access

  1. #1
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut Afficher résultat requete dans msgbox
    Bonjour,

    je cherche à récupérer la valeur d'une requête dans une Msgbox mais je n'y arrive pas. J'ai fouiné sur la toile pour comprendre comment cela fonctionne mais rien ne semble marcher. Je dois faire une erreur quelque part mais je ne sais pas où. Si une âme charitable pouvait me renseigner ce serait super. Voici le code:
    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
    Option Compare Database
     
    Private Sub Commande1_Click()
     
     
     
    'déclarations des variables
    Dim Didact As DAO.Database
    Dim Temp_Mouvement As Variant
    Dim requete As String
    Dim toto As String
    Dim stock  As DAO.Recordset
     
     
     Set Didact = CurrentDb
     
     'Set Temp_Mouvement = Didact.OpenRecordset("Mouvement", dbOpenDynaset)
     'requete = "SELECT Sum(Mouvement.Quantite) AS Stock_entree FROM Emplacement INNER JOIN (Articles INNER JOIN Mouvement ON Articles.Ref_article = Mouvement.Ref_Article) ON Emplacement.Ref_Emplacement = Mouvement.Ref_Emplacement WHERE (((Articles.Ref_Article)=[saisir article :]) AND ((Emplacement.Ref_Emplacement)=[saisir emplacement : ]));"
    requete = "SELECT Articles.SeuilReapro_article as stock2 FROM Articles where  Articles.Ref_article = 'Prod-008';"
     Set stock = Didact.OpenRecordset(requete, dbOpenDynaset)
     
    MsgBox ("Stock : " + Str(stock.Fields("item 1").Value))
     
    End Sub
    J'ai vu au debogueur que la valeur récupérée dans Articles.SeuilReapro_article se trouve dans le champ Value du champ Item 1 de stock mais impossible de le récupérer.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    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
    Option Compare Database
     
    Private Sub Commande1_Click()
     
    'déclarations des variables
    Dim Didact As DAO.Database:set didact=currentdb
    Dim Temp_Mouvement As Variant
    Dim requete As String
    Dim toto As String
    Dim stock  As DAO.Recordset
     
     
     Set Didact = CurrentDb
     
     'Set Temp_Mouvement = Didact.OpenRecordset("Mouvement", dbOpenDynaset)
     'requete = "SELECT Sum(Mouvement.Quantite) AS Stock_entree FROM Emplacement INNER JOIN (Articles INNER JOIN Mouvement ON Articles.Ref_article = Mouvement.Ref_Article) ON Emplacement.Ref_Emplacement = Mouvement.Ref_Emplacement WHERE (((Articles.Ref_Article)=[saisir article :]) AND ((Emplacement.Ref_Emplacement)=[saisir emplacement : ]));"
    requete = "SELECT Articles.SeuilReapro_article as stock2 FROM Articles where  Articles.Ref_article = 'Prod-008';"
     Set stock = Didact.OpenRecordset(requete, dbOpenDynaset)
     
    MsgBox "Stock : " & stock![stock2] 'Ancienne version plus compacte de stock.fields("stock2") ou de stock.fields(1)
     
    stock.close:set stock=nothing 'Ferme le recorset et libère la mémoire allouée
    set db=nothing 'Libère la mémoire allouée
     
    End Sub
    Le "Item 1" que tu vois dans le debuggeur est seulement une matérialisation du champ correspondant. Une astuce qui permet à cet outil de rester générique.

    En principe les libérations ne sont pas obligatoires car le compilateur devrait s'en charger. En réalité il est recommandé de libérer explictement les ressources utilisées dés qu'on en a plus besoin. Cela aide la machine à bien gérer sa mémoire ce qui évite des bugs parfois très mystérieux.

    A+

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Tu aurais pu aussi utiliser DFirst à la place.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim result as variant
    result=DFirst("[SeuilReapro_article]","Articles","[Articles.Ref_article] = ""Prod-008""")
    if not isnull(result) then
         msgbox result
       else
         msgbox "Non trouvé !"
    end if
    A+

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir
    Dans tes recherches as tu lu ce tutoriel?
    http://jdgayot.developpez.com/tutori...ultats-labels/

Discussions similaires

  1. [A-03] Afficher résultats requete dans textbox
    Par femtoserv dans le forum IHM
    Réponses: 1
    Dernier message: 23/01/2009, 17h17
  2. Afficher le résultat requete dans TextBox
    Par kmaniche dans le forum ASP.NET
    Réponses: 5
    Dernier message: 21/07/2008, 10h16
  3. Afficher résultat requete SQL dans un TQuikRep
    Par flo291288 dans le forum C++Builder
    Réponses: 0
    Dernier message: 20/06/2008, 15h08
  4. [MySQL] Afficher résultat requete dans une liste en html
    Par maxeur dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/02/2008, 09h10
  5. Afficher résultat requete dans Excel depuis Access.
    Par nighthawksf117a dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 23h18

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