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

Messages postés
70
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
14 septembre 2014
- - Dernière réponse :  Funstenolf - 18 juin 2014 à 10:33
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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
32
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
20 mars 2008
19
15
Merci
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à

Dire « Merci » 15

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

CCM 57587 internautes nous ont dit merci ce mois-ci

arzawe
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
2
Merci
up
Messages postés
70
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
14 septembre 2014
5
2
Merci
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
1
Merci
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
1
Merci
Rectification :
si tu enregistre la requête apart, la commande devient :
DoCmd.OpenQuery ("nom de la requête)
0
Merci
Et si ta requête fait passer la variable d'un formulaire ça marche comment ?