Fonction RechDom dans access

Fermé
Marco - 30 oct. 2001 à 17:15
 kinder (sorry, pas logué) - 5 nov. 2001 à 16:26
Salut à tous,
Voilà je galère tout simplement pour utiliser cette fonction rechdom dans les macros d'Access. L'aide est inutilisable ou du moins incompréhensible. Si on pouvait m'expliquer la syntaxe de cette fonction par un exemple, ce serait cool car je suis sûr que c'est cette fonction qui me sauvera. Merci.

1 réponse

Utilisateur anonyme
1 nov. 2001 à 21:35
qu'est-ce qui se passe mal?
bon, comme je ne sais pas quel est le problème, voilà: RechDom (ou DLookup) te renvoie la valeur d'un champ d'un enregistrement répondant à un critère.
Si tu as une table charcuterie contenant les champs saucisse/appreciation:

saucisse de morteau 3
saucisson lorrain 5
bâton de berger 3
rosette 4
saucisson à l'ail 2

eh bien si dans ton code tu as
A=DLookup("[saucisse]","charcuterie","[appreciation]=3")

alors A aura pour valeur "saucisse de morteau" soit la valeur du champ saucisse dans le premier enregistrement de charcuterie respectant le critère.

Attention, dans une macro, donc avec RechDom, remplace les virgules par des point-virgules

si le critère est sur une chaîne, mets la entre simple '
ex:
RechDom("[appreciation]","charcuterie","[saucisse]='rosette'")
ou
RechDom("[appreciation]","charcuterie","[saucisse] like 'sauc*'")
si tu veux le premier dont saucisse commence par sauc


si ta chaîne contient une apostrophe (cas vicelard), tu coupe en deux ton expression et tu la concatène en insérent chr(39) au milieu.

voilà, mais je ne sais pas du tout si c'est bien ça que tu voulais savoir...
1
marco34 Messages postés 8 Date d'inscription mardi 30 octobre 2001 Statut Membre Dernière intervention 11 décembre 2002
4 nov. 2001 à 13:02
Salut,

Je te remercie pour ta réponse, mais ça ne marche pas. J'ai une table Clients avec des champs NomClient et TelClient. Dans un formulaire, je veux que lorsque je quitte le champ relié à TelClient après avoir saisi un n° automatiquement le nom correspondant au n° s'affcihe dans ce formulaire. Donc j'ai crée du code relié à la sortie du champ relié à TelClient:
a=Form_FormReqCommande.TelClient.Value
Form_FormReqCommande.NomClient.Value=DlookUp("[NomCLient]","Clients","[TelClient]='a'"
l'orthographe des champs est correct, et TelClient est une chaîne de caractères. Mais la valeur il latrouve pas, puisqu'elle reste égale à Null. Merci
0
kinder (sorry, pas logué) > marco34 Messages postés 8 Date d'inscription mardi 30 octobre 2001 Statut Membre Dernière intervention 11 décembre 2002
5 nov. 2001 à 16:23
2 choses:
premièrement, pourquoi mets-tu a entre ' puisque c'est une variable? vire les '
deuxièmement, tu es typiquement dans un cas où ça vaudrait la peine que ton formulaire ait pour source une requête liant les deux tables, maus bon, c'est un autre prob.
0
kinder (sorry, pas logué) > marco34 Messages postés 8 Date d'inscription mardi 30 octobre 2001 Statut Membre Dernière intervention 11 décembre 2002
5 nov. 2001 à 16:26
et puis, je ne comprends pas ce que tu entends par 'elle reste égale à Null'.
bon, vite fait parce que je suis à la bourre, quand tu saisi un numéro de tel, est-il forcément au départ dans la table Clients et en un seul exemplaire? c'est une question accessoire sans rapport avec le problème particulier que tu soumets.
0