{Access} affecter resultat requete à variable

joseNEM Messages postés 46 Statut Membre -  
 pebkac -
Bonjour,

je veux affecter le résultat d'une fonction comme max(), min(), count() dans une instruction sql a une variable en VB pour la manipuler par la suite(afficher,............)

merci d'avance
Configuration: Windows XP
Opera 9.52

4 réponses

  1. le père
     
    Bonjour

    Affiche ta requête en mode SQL : tu verras qu'à chaque résultat utilisant une fonction Max(), Min() etc, Access associe un alias, c'est à dire un nom introduit pas le mot 'AS'. Tu peux utiliser cet alias pour récupérer la valeur.
    Je viens de faire un exemple utilisant la fonction max, et acces a généré :
    SELECT Max(matable.id) AS MaxDeid FROM matable;

    J'utiliserai donc Rs("MaxDeid") pour récupérer le résultat.

    Si tu écris tes requêtes directement en SQL, c'est à toi de rajouter les "AS nomdalias" là où tu en as besoin
    1
  2. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    on peut faire ça de cette manière :

    rst.movefirst
    while not rst.eof
    msgbox rst!nom_de_champ 'si on le connait
    msgbox rst!fields(0) 'si on l'ignore
    rst.movenext
    wend
    1
  3. joseNEM Messages postés 46 Statut Membre
     
    salut,
    j'utilise une variable DAO pour récupérer le résultat d'une requete comportant une fonction comme min(), max(), .... mon pb c'est je ne sais pas comment manipuler ce résultat.
    exp:

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT max(date) FROM absence", dbOpenDynaset)

    quelle est la syntaxe pour manipuler rst?

    par exemple l'afficher, la traiter...........
    -1
  4. pebkac
     
    Le père a donné la bonne réponse dans le post 1 !!!
    SELECT max(machin) AS resultat FROM xxx

    donc
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT max(date) as datemax FROM absence", dbOpenDynaset)
    rst.movefirst
    while not rst.eof
      msgbox rst!datemax ' on le connait !
    rst.movenext
    wend
    -1