Vba access : récupérer une valeur précise [Résolu/Fermé]

Signaler
Messages postés
70
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
14 septembre 2014
-
 Funstenolf -
Bonjour,

Je cherche à récupérer une valeur précise dans un tableau avec la formule suivante :

sql = "SELECT [Ratios]![HMO total] FROM [Ratios] WHERE [Ratios]![Ligne] = 'TOTAL - U2"
MsgBox = sql

Mais ce qu'il me donne dans ma msgbox, c'est ma formule. moi, ce que je voudrais c'est le nombre auquel cela correspond dans la table.

Qu'est-ce qui manque à ma formule ?

Merci de votre aide

6 réponses

Messages postés
32
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
20 mars 2008
19
Euh, oubli ce que j'ai mis.
Tiens voilà ce que tu dois écrire :

'variable :
Dim requete As Recordset
Dim sql As String
Dim resultat As Currency

'code d'exécution de la requête :
sql = " SELECT champ1, champ2, ... FROM table WHERE ... ;"
Set requete = CurrentDb.OpenRecordset(sql)
'première ligne de résultat :
requete.MoveFirst
resultat = requete("champ1")


et enfin ty affiche resultat

Voilà
15
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59666 internautes nous ont dit merci ce mois-ci

Messages postés
70
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
14 septembre 2014
5
Merci de tes réponses, mais j'ai trouvé une autre solution en creusant un peu :

mavariable = DLookup("[HMO total]", "[Ratios]", "[Ratios]![Ligne] = 'TOTAL - U2'")

où HMO total est ma colonne
Ratios est ma table
et la troisième expression est mon critère.

Et ainsi, pas besoin de passer par le sql
Bonjour, et si à ta condition correspondent plusieurs valeurs la fonction DLookup réupère aussi toutes ces valeurs?
Messages postés
70
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
14 septembre 2014
5
up
Messages postés
70
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
14 septembre 2014
5
Personne pour m'aider ?
Messages postés
32
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
20 mars 2008
19
Tu as deux possibilité :

soit tu fais tu enregistre ta requête apart
soit tu écrit ta requête en sql dans un variable dans VB

ensuite tu écrit la commande :
DoCmd.RunSQL ( "nom de la requête ou de la variable" )
Cela va exécuter ta requête.

Après je sais plus ....
Messages postés
32
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
20 mars 2008
19
Rectification :
si tu enregistre la requête apart, la commande devient :
DoCmd.OpenQuery ("nom de la requête)
Et si ta requête fait passer la variable d'un formulaire ça marche comment ?