{Access} recuperer resultat d une requete

Résolu
moiced59 Messages postés 1161 Statut Membre -  
blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

voila derriere un bouton j execute une requete qui me dis que nous somme tel jour de l année

je voudrais que le resultat ne s affiche pas com le resultat traditionnel d une requete mais le recuperer ds une variable
j'ai essay" ca mais en vain:

dim test as variant

test = docmd.openquery .....

merci de m aider
Configuration: Windows XP
Firefox 3.0.14

7 réponses

  1. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    c bon probleme resolu si quelqu un a besoin n hesitez pas a me contacter
    0
    1. Lola Bunny
       
      Heu...

      Et la solution c'est ? J'en aurais bien besoin. Merci de poster la solution ;-)

      Bone année !
      0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    salut alors il te faut passer par un recordset:

    dim db as database
    dim rs as recordset
    set db=cuuentdb

    set = rs =db.openrecordset "ta requete avec un as pour recuperrer le resultat" genre:
    with rs
    variable = !maximum
    end with

    : select max(nbre) as maximum from......
    0
  3. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    on peut aussi le faire avec la fonction dlookup, c'est plus 'propre' (moins de lignes et moins d'objet à définir).
    0
    1. Lola Bunny
       
      Merci à vous deux !
      (moiced59 et Blux)

      J'ai finalememnt opté pour le Dlookup qui me parait plus clair en lecture.
      Voici ce que cela donne :

      Dim B As String
      Dim RM As Single
      'J'ai essayé de coller dans une variable...
      'B = "Forms![_MenuPrincipal]![sfrm_EmplListeChoix].Form![EmplID]"
      
      ' Voici la ligne qui fonctionne
      RM = Nz(DLookup("[A]", "req_EmplAnService", "[tbl_Mouvements.EmplID]=1847"), 0)
      
      'Et celle qui ne fonctionne pas ;-(
      RM = Nz(DLookup("[A]", "req_EmplAnService", "[tbl_Mouvements.EmplID]=Me![_MenuPrincipal.EmplID]"), 0)
      
      MsgBox "Les années d'expérience sont de : " & RM
      Me.[EmplNbAnService] = RM
      Me.Refresh
      


      Mon problème est que je dois accéder au champs d'un sous-formulaire et là je me frappe à une erreur. Si je met la clé primaire direct (ex: 2259) ça va bien ! Où ai-je flanché ??? ;-(

      Merci, merci et merci d'avance !
      0
      1. LolaBunny Messages postés 6 Statut Membre > Lola Bunny
         
        Zut !
        Oublié de spécifier que mes formulaires sont :

        1 - _MenuPrincipal
        2 - Sous-formulaire, sfrm_EmplListeChoix

        Donc j'ai essayé :
        Forms![_MenuPrincipal]![sfrm_EmplListeChoix].Form![EmplID]

        Merci !
        0
      2. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > LolaBunny Messages postés 6 Statut Membre
         
        B = Forms("_MenuPrincipal")("sfrm_EmplListeChoix")("EmplID") ?
        0
  4. LolaBunny Messages postés 6 Statut Membre
     
    Bonjour Blux,

    Merci de m'aider, j'avoue que la déprime me gagne ;-D Ben, non !!!

    Il me donne une erreur d'exécution 2465. Impossible de trouver le champ 'sfm_EmplListeChoix' auquel il est fait référence dans votre expression.

    Est-ce que le fait que mon sous-formulaire soit dans un onglet a une importance ? Je ne crois pas, mais bon. Et il se nomme vraiment 'sfrm_EmplListeChoix'.

    Grrrrr ;-) Je continu à cherche, il FAUT que je trouve...
    Merci encore, fortement apprécié !
    0
    1. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Est-ce que le fait que mon sous-formulaire soit dans un onglet a une importance ?
      Justement si, il faut mettre la hiérarchie des objets qui contiennent ton contrôle final...

      B = Forms("_MenuPrincipal")("onglet1")("sfrm_EmplListeChoix")("EmplID")
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LolaBunny Messages postés 6 Statut Membre
     
    OK, donc j'ai mis

    B = Forms("_MenuPrincipal")("Employés")("sfrm_EmplListeChoix")("EmplID")

    Erreur d'éxécution 438 ; Propriétés ou méthode non gérée par cet objet.

    J'y suis tellement presque !

    ;-D
    0
    1. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      B = Forms("_MenuPrincipal")("Employés")("sfrm_EmplListeChoix")("EmplID").value ?
      0
  7. LolaBunny Messages postés 6 Statut Membre
     
    Encore 438 ! Je te met le tout pour que l'on voit bien :

    ' Années de service 
    Private Sub EmplNbAnService_Click()
    Dim B As String
    Dim RM As Single
    ' variable
    B = Forms("_MenuPrincipal")("Employés")("sfrm_EmplListeChoix")("EmplID").Value
    
    ' Voici la ligne qui fonctionne
    'RM = Nz(DLookup("[A]", "req_EmplAnService", "[tbl_Mouvements.EmplID]=1847"), 0)
    
    ' Et celle qui ne fonctionne pas ;-(
    RM = Nz(DLookup("[A]", "req_EmplAnService", "[tbl_Mouvements.EmplID]=B"), 0)
    
    Me.[EmplNbAnService] = RM
    Me.Refresh
    End Sub


    (soupir) LOL
    0
  8. LolaBunny Messages postés 6 Statut Membre
     
    Bonjour et merci à Blux et à Patrick avoir déclanché l'éclair chez moi ;-D

    J'ai trouvé et poste la solution pour d'autres.
    C'était tout simple...

    Dim RM As Single
    RM = Nz(DLookup("[A]", "req_EmplAnService", "[tbl_Mouvements.EmplID]=" & [EmplID]), 0)
    


    Pas de variable rien.
    Voilà ! ;-D
    0
    1. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Ce n'est pas la variable qui gênait, mais le fait de l'avoir mise entre quotes, elle n'est donc pas interprétée...

      Tu aurais pu faire
      "[tbl_Mouvements.EmplID]=" & B), 0)
      

      Depuis le début, c'est ça qui coince : la mauvaise position des quotes...
      0