Bonjour,
Je n'arrive pas à formuler correctement le code visual basic pour obtenir
une valeur correspondante dans un formulaire. J'ai inséré 2 c hamps dans mon
formulaire provenant d'une table "Bulletin"; "NumClient" et "Nom du cli ent".
J'entre le Nom du client dans le formulaire et je souhaite que le
NumeroClient s'affiche suite à un évènement.
J'ai une table "Clients" avec 2 champs; "NomClient" et "NumeroClient". Que
dois-je modifier dans le code ici-bas ou quel doit être le bon cod e? J'ai
actuellement un message à l'effet que le champ n'est pas reconnu.
NumClient.Value = DLookup([NumeroClient], [Clients], [NomClient] =
Nom_du_client.Value)
Merci.
Roland
Bonjour,
Je n'arrive pas à formuler correctement le code visual basic pour obtenir
une valeur correspondante dans un formulaire. J'ai inséré 2 c hamps dans mon
formulaire provenant d'une table "Bulletin"; "NumClient" et "Nom du cli ent".
J'entre le Nom du client dans le formulaire et je souhaite que le
NumeroClient s'affiche suite à un évènement.
J'ai une table "Clients" avec 2 champs; "NomClient" et "NumeroClient". Que
dois-je modifier dans le code ici-bas ou quel doit être le bon cod e? J'ai
actuellement un message à l'effet que le champ n'est pas reconnu.
NumClient.Value = DLookup([NumeroClient], [Clients], [NomClient] =
Nom_du_client.Value)
Merci.
Roland
Bonjour,
Je n'arrive pas à formuler correctement le code visual basic pour obtenir
une valeur correspondante dans un formulaire. J'ai inséré 2 c hamps dans mon
formulaire provenant d'une table "Bulletin"; "NumClient" et "Nom du cli ent".
J'entre le Nom du client dans le formulaire et je souhaite que le
NumeroClient s'affiche suite à un évènement.
J'ai une table "Clients" avec 2 champs; "NomClient" et "NumeroClient". Que
dois-je modifier dans le code ici-bas ou quel doit être le bon cod e? J'ai
actuellement un message à l'effet que le champ n'est pas reconnu.
NumClient.Value = DLookup([NumeroClient], [Clients], [NomClient] =
Nom_du_client.Value)
Merci.
Roland
Bonsoir,
D'après ce que tu dis, c'est normal que le champ ne soit pas reconnu :
tu le désignes par NumeroClient, alors qu'il s'appelle NumClient. De
plus, il faut mettre le nom du champ entre guillemets, de même que celui
de la table. Au demeurant, la clause WHERE de la requête, pour un champ
de type texte (NomClient), doit comporter, autour de la valeur visée,
des délimiteurs de type accolade valant guillemets (pour simplifier
puisqu'il y a déjà des guillemets autour -enfin en tout cas il doit y en
avoir).
Ainsi ça devrait mieux marcher, sous réserve que le nom du client ne
comporte pas de faute de frappe (c'est justement pour l'éviter que
d'habitude on fait la requête dans l'autre sens :) :
DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
(tout ça sur la même ligne bien sûr)
Note que j'ai pris soin de doubler les apostrophes dans le nom du
client, sinon pour Monsieur de Bois d'Enghien, ou Emilie L'Epure, tu
vas avoir un beau message d'erreur qui va planter l'exécution de ton code.
La chose qui reste à faire avec ça, maintenant, c'est le tester sous
Access :)
Ne pas oublier de faire des tests avec des noms comportant des
apostrophes, ça craint plus.
____________________________________________
Roland Miller a écrit, le 27/01/2008 18:43 :Bonjour,
Je n'arrive pas à formuler correctement le code visual basic pour obtenir
une valeur correspondante dans un formulaire. J'ai inséré 2 champs dans mon
formulaire provenant d'une table "Bulletin"; "NumClient" et "Nom du client".
J'entre le Nom du client dans le formulaire et je souhaite que le
NumeroClient s'affiche suite à un évènement.
J'ai une table "Clients" avec 2 champs; "NomClient" et "NumeroClient". Que
dois-je modifier dans le code ici-bas ou quel doit être le bon code? J'ai
actuellement un message à l'effet que le champ n'est pas reconnu.
NumClient.Value = DLookup([NumeroClient], [Clients], [NomClient] =
Nom_du_client.Value)
Merci.
Roland
Bonsoir,
D'après ce que tu dis, c'est normal que le champ ne soit pas reconnu :
tu le désignes par NumeroClient, alors qu'il s'appelle NumClient. De
plus, il faut mettre le nom du champ entre guillemets, de même que celui
de la table. Au demeurant, la clause WHERE de la requête, pour un champ
de type texte (NomClient), doit comporter, autour de la valeur visée,
des délimiteurs de type accolade valant guillemets (pour simplifier
puisqu'il y a déjà des guillemets autour -enfin en tout cas il doit y en
avoir).
Ainsi ça devrait mieux marcher, sous réserve que le nom du client ne
comporte pas de faute de frappe (c'est justement pour l'éviter que
d'habitude on fait la requête dans l'autre sens :) :
DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
(tout ça sur la même ligne bien sûr)
Note que j'ai pris soin de doubler les apostrophes dans le nom du
client, sinon pour Monsieur de Bois d'Enghien, ou Emilie L'Epure, tu
vas avoir un beau message d'erreur qui va planter l'exécution de ton code.
La chose qui reste à faire avec ça, maintenant, c'est le tester sous
Access :)
Ne pas oublier de faire des tests avec des noms comportant des
apostrophes, ça craint plus.
____________________________________________
Roland Miller a écrit, le 27/01/2008 18:43 :
Bonjour,
Je n'arrive pas à formuler correctement le code visual basic pour obtenir
une valeur correspondante dans un formulaire. J'ai inséré 2 champs dans mon
formulaire provenant d'une table "Bulletin"; "NumClient" et "Nom du client".
J'entre le Nom du client dans le formulaire et je souhaite que le
NumeroClient s'affiche suite à un évènement.
J'ai une table "Clients" avec 2 champs; "NomClient" et "NumeroClient". Que
dois-je modifier dans le code ici-bas ou quel doit être le bon code? J'ai
actuellement un message à l'effet que le champ n'est pas reconnu.
NumClient.Value = DLookup([NumeroClient], [Clients], [NomClient] =
Nom_du_client.Value)
Merci.
Roland
Bonsoir,
D'après ce que tu dis, c'est normal que le champ ne soit pas reconnu :
tu le désignes par NumeroClient, alors qu'il s'appelle NumClient. De
plus, il faut mettre le nom du champ entre guillemets, de même que celui
de la table. Au demeurant, la clause WHERE de la requête, pour un champ
de type texte (NomClient), doit comporter, autour de la valeur visée,
des délimiteurs de type accolade valant guillemets (pour simplifier
puisqu'il y a déjà des guillemets autour -enfin en tout cas il doit y en
avoir).
Ainsi ça devrait mieux marcher, sous réserve que le nom du client ne
comporte pas de faute de frappe (c'est justement pour l'éviter que
d'habitude on fait la requête dans l'autre sens :) :
DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
(tout ça sur la même ligne bien sûr)
Note que j'ai pris soin de doubler les apostrophes dans le nom du
client, sinon pour Monsieur de Bois d'Enghien, ou Emilie L'Epure, tu
vas avoir un beau message d'erreur qui va planter l'exécution de ton code.
La chose qui reste à faire avec ça, maintenant, c'est le tester sous
Access :)
Ne pas oublier de faire des tests avec des noms comportant des
apostrophes, ça craint plus.
____________________________________________
Roland Miller a écrit, le 27/01/2008 18:43 :Bonjour,
Je n'arrive pas à formuler correctement le code visual basic pour obtenir
une valeur correspondante dans un formulaire. J'ai inséré 2 champs dans mon
formulaire provenant d'une table "Bulletin"; "NumClient" et "Nom du client".
J'entre le Nom du client dans le formulaire et je souhaite que le
NumeroClient s'affiche suite à un évènement.
J'ai une table "Clients" avec 2 champs; "NomClient" et "NumeroClient". Que
dois-je modifier dans le code ici-bas ou quel doit être le bon code? J'ai
actuellement un message à l'effet que le champ n'est pas reconnu.
NumClient.Value = DLookup([NumeroClient], [Clients], [NomClient] =
Nom_du_client.Value)
Merci.
Roland
Bonjour,
J'ai essayé le code que tu m'as remis et cela amène aucun val eur. J'ai aussi
essayé quelques modifications et rien ne s'affiche. J'ai entres au tres essayé
les 2 lignes de code ici-bas. Je sais que c'est le critère qui ne fonctionne
pas. Quoi faire ou quoi essayer?
NumClient.Value = DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
NumClient.Value = DLookup("NumeroClient", "Clients", "NomClient = ' " &
Replace([Nom_du_client].Value, "'", "''") & "'")
Merci.
Roland
Bonjour,
J'ai essayé le code que tu m'as remis et cela amène aucun val eur. J'ai aussi
essayé quelques modifications et rien ne s'affiche. J'ai entres au tres essayé
les 2 lignes de code ici-bas. Je sais que c'est le critère qui ne fonctionne
pas. Quoi faire ou quoi essayer?
NumClient.Value = DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
NumClient.Value = DLookup("NumeroClient", "Clients", "NomClient = ' " &
Replace([Nom_du_client].Value, "'", "''") & "'")
Merci.
Roland
Bonjour,
J'ai essayé le code que tu m'as remis et cela amène aucun val eur. J'ai aussi
essayé quelques modifications et rien ne s'affiche. J'ai entres au tres essayé
les 2 lignes de code ici-bas. Je sais que c'est le critère qui ne fonctionne
pas. Quoi faire ou quoi essayer?
NumClient.Value = DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
NumClient.Value = DLookup("NumeroClient", "Clients", "NomClient = ' " &
Replace([Nom_du_client].Value, "'", "''") & "'")
Merci.
Roland
Bonsoir,
Il pourrait bien y avoir une faute de frappe, dans le nom d'un des
champs, ou de plusieurs, ou dans le nom du contrôle Nom_du_client.
Ce contrôle est-il bien sur le même formulaire à propos ?
L'assistant (générer une fonction, je cite de mémoire ; en général on
ouvre ça à partir des points de suspension qui apparaissent à droite de
la propriété ControlSource, quand on la sélectionne dans la fenêtre des
propriétés), peut aider à mettre les noms de champs sans se tromper.
Ne pas être trop à cheval sur les intitulés : je cite tout de mémoire,
depuis une machine où il n'y a pas Access.
La commande Outils / Documentation peut permettre d'avoir le cœur net
sur l'orthographe des champs.
____________________________________________
Roland Miller a écrit, le 28/01/2008 05:51 :Bonjour,
J'ai essayé le code que tu m'as remis et cela amène aucun valeur. J'ai aussi
essayé quelques modifications et rien ne s'affiche. J'ai entres autres essayé
les 2 lignes de code ici-bas. Je sais que c'est le critère qui ne fonctionne
pas. Quoi faire ou quoi essayer?
NumClient.Value = DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
NumClient.Value = DLookup("NumeroClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
Merci.
Roland
Bonsoir,
Il pourrait bien y avoir une faute de frappe, dans le nom d'un des
champs, ou de plusieurs, ou dans le nom du contrôle Nom_du_client.
Ce contrôle est-il bien sur le même formulaire à propos ?
L'assistant (générer une fonction, je cite de mémoire ; en général on
ouvre ça à partir des points de suspension qui apparaissent à droite de
la propriété ControlSource, quand on la sélectionne dans la fenêtre des
propriétés), peut aider à mettre les noms de champs sans se tromper.
Ne pas être trop à cheval sur les intitulés : je cite tout de mémoire,
depuis une machine où il n'y a pas Access.
La commande Outils / Documentation peut permettre d'avoir le cœur net
sur l'orthographe des champs.
____________________________________________
Roland Miller a écrit, le 28/01/2008 05:51 :
Bonjour,
J'ai essayé le code que tu m'as remis et cela amène aucun valeur. J'ai aussi
essayé quelques modifications et rien ne s'affiche. J'ai entres autres essayé
les 2 lignes de code ici-bas. Je sais que c'est le critère qui ne fonctionne
pas. Quoi faire ou quoi essayer?
NumClient.Value = DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
NumClient.Value = DLookup("NumeroClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
Merci.
Roland
Bonsoir,
Il pourrait bien y avoir une faute de frappe, dans le nom d'un des
champs, ou de plusieurs, ou dans le nom du contrôle Nom_du_client.
Ce contrôle est-il bien sur le même formulaire à propos ?
L'assistant (générer une fonction, je cite de mémoire ; en général on
ouvre ça à partir des points de suspension qui apparaissent à droite de
la propriété ControlSource, quand on la sélectionne dans la fenêtre des
propriétés), peut aider à mettre les noms de champs sans se tromper.
Ne pas être trop à cheval sur les intitulés : je cite tout de mémoire,
depuis une machine où il n'y a pas Access.
La commande Outils / Documentation peut permettre d'avoir le cœur net
sur l'orthographe des champs.
____________________________________________
Roland Miller a écrit, le 28/01/2008 05:51 :Bonjour,
J'ai essayé le code que tu m'as remis et cela amène aucun valeur. J'ai aussi
essayé quelques modifications et rien ne s'affiche. J'ai entres autres essayé
les 2 lignes de code ici-bas. Je sais que c'est le critère qui ne fonctionne
pas. Quoi faire ou quoi essayer?
NumClient.Value = DLookup("NumClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
NumClient.Value = DLookup("NumeroClient", "Clients", "NomClient = '" &
Replace([Nom_du_client].Value, "'", "''") & "'")
Merci.
Roland
Bonjour,
Merci pour l'aide. J'ai trouvé ma solution. Ici-bas le code que j' ai inscrit;
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Tex t")
Bonjour,
Merci pour l'aide. J'ai trouvé ma solution. Ici-bas le code que j' ai inscrit;
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Tex t")
Bonjour,
Merci pour l'aide. J'ai trouvé ma solution. Ici-bas le code que j' ai inscrit;
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Tex t")
Merci pour l'aide. J'ai trouvé ma solution. Ici-bas le code que j'ai inscrit;
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Text")
Merci pour l'aide. J'ai trouvé ma solution. Ici-bas le code que j'ai inscrit;
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Text")
Merci pour l'aide. J'ai trouvé ma solution. Ici-bas le code que j'ai inscrit;
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Text")
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Te xt")
Ah ça c'est intéressant.
Bof, non, pas vraiment... ;-)
C'est tout simplement parce qu'il utilise le mauvais événemen t pour
lire le contenu de son "Nom_du_client" !
S'il utilisait l'événement "après mise à jour", il n'y aurait pas eu de problème.
Mais, j'ai peur qu'il utilise dirty ou change - la valeur n'étant pas commise,
l'usage de la propriété "Text" au lieu de "Value" devient nà ©cessaire.
Mais cela ne corrige pas le mauvais usage ;-)
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Te xt")
Ah ça c'est intéressant.
Bof, non, pas vraiment... ;-)
C'est tout simplement parce qu'il utilise le mauvais événemen t pour
lire le contenu de son "Nom_du_client" !
S'il utilisait l'événement "après mise à jour", il n'y aurait pas eu de problème.
Mais, j'ai peur qu'il utilise dirty ou change - la valeur n'étant pas commise,
l'usage de la propriété "Text" au lieu de "Value" devient nà ©cessaire.
Mais cela ne corrige pas le mauvais usage ;-)
DLookup("[NumeroClient]", "Clients", "[NomClient] = Nom_du_client.Te xt")
Ah ça c'est intéressant.
Bof, non, pas vraiment... ;-)
C'est tout simplement parce qu'il utilise le mauvais événemen t pour
lire le contenu de son "Nom_du_client" !
S'il utilisait l'événement "après mise à jour", il n'y aurait pas eu de problème.
Mais, j'ai peur qu'il utilise dirty ou change - la valeur n'étant pas commise,
l'usage de la propriété "Text" au lieu de "Value" devient nà ©cessaire.
Mais cela ne corrige pas le mauvais usage ;-)