Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
Bonjour,
Peut-être en imbriquant 2 DLookUp() - ou RechDom() en FR-