A voir également:
- Rechdom access
- Stream access avis ✓ - Forum Virus
- Exemple base de données access à télécharger gratuit - Forum Access
- Acer quick access - Forum Logiciels
- Access runtime ✓ - Forum Access
- Access appdata - Guide
1 réponse
Utilisateur anonyme
1 nov. 2001 à 21:35
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...
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...
4 nov. 2001 à 13:02
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
5 nov. 2001 à 16:23
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.
5 nov. 2001 à 16:26
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.