OVH Cloud OVH Cloud

DLookup

8 réponses
Avatar
Thierry _
Bonjour,

Soit une commande basée sur une table dont un des champs est INIT (comme
initiale de l'émetteur). Un form, F_Cmd facilite la saisie.
Soit une autre table , T_INIT dont les champs sont INIT, Prenom, Eml.
Les 2 tables ne sont pas liées.

Je désire que l'état E_Cmd affiche le prénom et l'Eml extrait de cette table
T_INIT lorsque le champs INIT de la commande est identique au champ INIT de
T_INIT.

Je fais donc ceci dans E_Cmd:

DLookup("[prenom]","T_INIT",[T_INIT.INIT]=forms![F_Cmd]!INIT)

Un message d'erreur m'avise : Erreur de syntaxe, opérateur absent.
L'aide n'affiche rien dans ce cas.

Merci de m'aider, je n'ai pas d'expérience de la fonction DLookup.

Thierry

8 réponses

Avatar
Fredo
comme ça avec les ":
DLookup("[prenom]","T_INIT","[T_INIT.INIT]=forms![F_Cmd]!INIT")
ça devrait gazer!



"Thierry _" a écrit dans le message de news:

Bonjour,

Soit une commande basée sur une table dont un des champs est INIT (comme
initiale de l'émetteur). Un form, F_Cmd facilite la saisie.
Soit une autre table , T_INIT dont les champs sont INIT, Prenom, Eml.
Les 2 tables ne sont pas liées.

Je désire que l'état E_Cmd affiche le prénom et l'Eml extrait de cette
table
T_INIT lorsque le champs INIT de la commande est identique au champ INIT
de
T_INIT.

Je fais donc ceci dans E_Cmd:

DLookup("[prenom]","T_INIT",[T_INIT.INIT]=forms![F_Cmd]!INIT)

Un message d'erreur m'avise : Erreur de syntaxe, opérateur absent.
L'aide n'affiche rien dans ce cas.

Merci de m'aider, je n'ai pas d'expérience de la fonction DLookup.

Thierry




Avatar
Thierry _
comme ça avec les ":
DLookup("[prenom]","T_INIT","[T_INIT.INIT]=forms![F_Cmd]!INIT")
ça devrait gazer!

Merci, Fredo, mais je reçois le même message d'erreur: opérateur absent.

C'est quoi un opérateur ici ?

Thierry

Avatar
Fredo
Où ds ton état veux-tu voir le prénom?
Je comprends pas tout. L'état est affiché lorsque le Form est ouvert, si
non, impossible de trouver le champ forms![F_Cmd]![INIT]", d'accord? Un état
sert surtout à imprimer les données. Si tu veux voir quelque chose,
l'afficher; un petit Form est plus simple à mettre en oeuvre.
Il faut un nom de champ ou de variable devant dlookup, au niveau du
formatage de la section par exemple.

Moi j'écrirai plutôt ça:
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")

il y a aussi cette syntaxe (suivant le type de ton champ, peut-être que...)
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]= ' " &
forms![F_Cmd]![INIT] & " ' ")

Bon courage.
Fredo

"Thierry _" a écrit dans le message de news:


comme ça avec les ":
DLookup("[prenom]","T_INIT","[T_INIT.INIT]=forms![F_Cmd]!INIT")
ça devrait gazer!

Merci, Fredo, mais je reçois le même message d'erreur: opérateur absent.

C'est quoi un opérateur ici ?

Thierry





Avatar
Thierry _
Voilà comment ça se passe:
Ma collaboratrice remplit le form F_Cmd et, entr'autres , y indique ses
initiales: ex.: LD
Je veux que l'état qui *découle* de ce form affiche : (dossier géré par:)
Laurence . Je n'ai pas besoin de voir cette mention sur le form. Dossier
géré par est une simple étiquette. Donc, je crée sur l'état une "zone de
texte" qui va chercher dans T_INIT le prénom (Laurence) qui correspond à
l'INIT (LD) indiquée dans le form.
Le form reste ouvert lorsque j'appelle l'état correspondant.
Il y a peut-être une solution plus simple ?
Merci, Fredo

Th




"Fredo" a écrit dans le message de
news:4427ec4a$0$9445$
Où ds ton état veux-tu voir le prénom?
Je comprends pas tout. L'état est affiché lorsque le Form est ouvert, si
non, impossible de trouver le champ forms![F_Cmd]![INIT]", d'accord? Un
état

sert surtout à imprimer les données. Si tu veux voir quelque chose,
l'afficher; un petit Form est plus simple à mettre en oeuvre.
Il faut un nom de champ ou de variable devant dlookup, au niveau du
formatage de la section par exemple.

Moi j'écrirai plutôt ça:
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")

il y a aussi cette syntaxe (suivant le type de ton champ, peut-être
que...)

ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]= ' " &
forms![F_Cmd]![INIT] & " ' ")

Bon courage.
Fredo

"Thierry _" a écrit dans le message de news:


comme ça avec les ":
DLookup("[prenom]","T_INIT","[T_INIT.INIT]=forms![F_Cmd]!INIT")
ça devrait gazer!

Merci, Fredo, mais je reçois le même message d'erreur: opérateur absent.

C'est quoi un opérateur ici ?

Thierry








Avatar
Fredo
OK
Donc c'est une impression en cours de saisie sur Form. Pas de Pb.
Ce que j'indiquai devrait fonctionner (essaie un copier-coller pour voir).

Moi j'écrirai plutôt ça:
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")





"Thierry _" a écrit dans le message de news:

Voilà comment ça se passe:
Ma collaboratrice remplit le form F_Cmd et, entr'autres , y indique ses
initiales: ex.: LD
Je veux que l'état qui *découle* de ce form affiche : (dossier géré par:)
Laurence . Je n'ai pas besoin de voir cette mention sur le form. Dossier
géré par est une simple étiquette. Donc, je crée sur l'état une "zone de
texte" qui va chercher dans T_INIT le prénom (Laurence) qui correspond à
l'INIT (LD) indiquée dans le form.
Le form reste ouvert lorsque j'appelle l'état correspondant.
Il y a peut-être une solution plus simple ?
Merci, Fredo

Th




"Fredo" a écrit dans le message de
news:4427ec4a$0$9445$
Où ds ton état veux-tu voir le prénom?
Je comprends pas tout. L'état est affiché lorsque le Form est ouvert, si
non, impossible de trouver le champ forms![F_Cmd]![INIT]", d'accord? Un
état

sert surtout à imprimer les données. Si tu veux voir quelque chose,
l'afficher; un petit Form est plus simple à mettre en oeuvre.
Il faut un nom de champ ou de variable devant dlookup, au niveau du
formatage de la section par exemple.

Moi j'écrirai plutôt ça:
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")

il y a aussi cette syntaxe (suivant le type de ton champ, peut-être
que...)

ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]= ' " &
forms![F_Cmd]![INIT] & " ' ")

Bon courage.
Fredo

"Thierry _" a écrit dans le message de news:


comme ça avec les ":
DLookup("[prenom]","T_INIT","[T_INIT.INIT]=forms![F_Cmd]!INIT")
ça devrait gazer!

Merci, Fredo, mais je reçois le même message d'erreur: opérateur

absent.
C'est quoi un opérateur ici ?

Thierry












Avatar
Thierry _
"Fredo" a écrit dans le message de
news:44281bea$0$18985$
OK
Donc c'est une impression en cours de saisie sur Form. Pas de Pb.
Ce que j'indiquai devrait fonctionner (essaie un copier-coller pour voir).
Va pas non plus :-(


Moi j'écrirai plutôt ça:

ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")




Fredo, cela veut-il dire que je dois créer un champ PrenomEat dans la table
T_Cmd ?? J'ai du mal à souscrire à ça.

J'avais simplement créé dans mon état une zone de texte dont la Source
Contrôle est: DLookup...etc.
(et pas =DLookup...). J'enregistre la modif de l'état sans difficultés,
mais c'est au moment de visualiser l'état que je reçois le message d'erreur.
Toujours le même !

Qu'ai-je fait de contraire ?

Th



Avatar
Fredo
Fredo, cela veut-il dire que je dois créer un champ PrenomEat dans la
table T_Cmd
oh ho

bien sur que non! Un champ texte nommé ici ChampPrenomEtat, dans l'état et
dans le code de l'état, au niveau formatage de la section :
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")

je ne vois pas pourquoi ça ne fonctionnerait pas.

Fredo

Avatar
Thierry _
"Fredo" a écrit dans le message de
news:442abe41$0$19022$
Fredo, cela veut-il dire que je dois créer un champ PrenomEat dans la
table T_Cmd
oh ho

bien sur que non! Un champ texte nommé ici ChampPrenomEtat, dans l'état et
dans le code de l'état, au niveau formatage de la section :
ChampPrenomEtat=DLookup("[prenom]","T_INIT","[INIT]=forms![F_Cmd]![INIT]")

je ne vois pas pourquoi ça ne fonctionnerait pas.

Moi non plus. Mais ça ne va toujours pas.

J'ai cru un instant que le champ INIT était en cause parce qu'il porte le
même nom dans les tables T_Cmd ET dans la table T_INIT.
J'ai renommé le champ dans T_INIT en INI, ai modifié l'instruction, mais
sans succès.

Dernière précision avant abandon: lorsque tu dis
ChampPrenomEtat=DLookup("[prenom....etc,
qu'entends-tu par ChampPrenomEtat ?

Moi, j'ai créé dans mon état une Zone de texte dont la source-contrôle est:
DLookup...etc., SANS signe "="
Est-ce correct de définir la source-contrôle par DLookup... ?
Qu'ai-je loupé ?

Merci de ta patience,

Th