Recherche au plus près...

Le
Paraglider
Bonjour tout le monde,

J'ai une table tbl_Tuyau avec un champ RDS et un champ DIAM et une
variable VAL.

Je dois récupérer la valeur du champ RDS en fonction de la valeur dans
mon champ DIAM se rapprochant le plus
de la valeur de ma variable VAL

Dans la colonne DIAM, j'ai par exemple les valeurs suivantes :

33,58,123,189,213,345,432

Ma variable VAL vaut 199. Comment retrouver la valeur la plus proche
dans mon champ DIAM ?
Dans ce cas-ci 199 est plus proche de 189 que de 213.

Merci de vos réponses

Jacques
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #21185031
Paraglider a écrit :
Bonjour tout le monde,

J'ai une table tbl_Tuyau avec un champ RDS et un champ DIAM et une
variable VAL.

Je dois récupérer la valeur du champ RDS en fonction de la valeur dans
mon champ DIAM se rapprochant le plus
de la valeur de ma variable VAL

Dans la colonne DIAM, j'ai par exemple les valeurs suivantes :

33,58,123,189,213,345,432

Ma variable VAL vaut 199. Comment retrouver la valeur la plus proche
dans mon champ DIAM ?
Dans ce cas-ci 199 est plus proche de 189 que de 213.

Merci de vos réponses

Jacques




Bonsoir,

Il peut y avoir deux valeurs en résultat (par exemple pour VAL 1)

Dans un module, ça donnerait quelque chose comme ça

Sub test(VAL As Integer)
Dim db As DAO.Database, rst As DAO.Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("Select DIAM from tbl_Tuyau Where abs(diam-"
& VAL & ")=(select min(abs(diam-" & VAL & ")) from tbl_tuyau)")

While Not rst.EOF
MsgBox rst!DIAM
rst.MoveNext
Wend
Set rst = Nothing
Set db = Nothing

End Sub



db
Eric
Le #21187511
Bonjour,

Peut-être en imbriquant 2 DLookUp() - ou RechDom() en FR-

Du genre (tout sur une seule ligne):

DLookup("RDS", "tbl_tuyau", "abs(diam -" & maval & ")=" &
DLookup("min(abs(diam -" & maval & "))", "tbl_tuyau"))

Adapter le nom de la variable maval car la nommer Val entre en conflit
avec la fonction Val()

Paraglider a écrit :
Bonjour tout le monde,

J'ai une table tbl_Tuyau avec un champ RDS et un champ DIAM et une
variable VAL.

Je dois récupérer la valeur du champ RDS en fonction de la valeur dans
mon champ DIAM se rapprochant le plus
de la valeur de ma variable VAL

Dans la colonne DIAM, j'ai par exemple les valeurs suivantes :

33,58,123,189,213,345,432

Ma variable VAL vaut 199. Comment retrouver la valeur la plus proche
dans mon champ DIAM ?
Dans ce cas-ci 199 est plus proche de 189 que de 213.

Merci de vos réponses

Jacques




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Publicité
Poster une réponse
Anonyme