Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche au plus près...

2 réponses
Avatar
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=E9cup=E9rer 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=E9ponses

Jacques

2 réponses

Avatar
db
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
Avatar
Eric
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