Tester le contenu du champ précédent dynamiquement
4 réponses
JMH
Bonjour
Je ne sais pas si le terme est exact.
Mais voilà mon problème:
J'ai des champs sur un formulaire dont certains vont par paire.
Dans un champ précis Sur focus(par exemple)
j'aimerai récupérer le nom du champ précédent (selon l'ordre de tabulation),
ce n'est pas nécessairement le PreviousControl
Ensuite je testerai la valeur de ce champ avec Me(NomDuChampTrouve).value =
"Merci pour la réponse"
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
3stone
Salut,
"JMH" | J'ai des champs sur un formulaire dont certains vont par paire. | | Dans un champ précis Sur focus(par exemple) | j'aimerai récupérer le nom du champ précédent (selon l'ordre de tabulation), | ce n'est pas nécessairement le PreviousControl | | Ensuite je testerai la valeur de ce champ avec Me(NomDuChampTrouve).value | "Merci pour la réponse"
Tu dis: ce n'est pas nécessairement le "PreviousControl"...
Ce PreviousControl est la controle qui a le focus précédement et n'a rien à voir avec l'ordre de tabulation...
As-tu pensé que l'on peut "sauter" ou l'on veut dans une formulaire ? et que, en dehors du controle précédent *ayant le focus* cette expression ne veut pas dire grand chose ?
Je pense que tu devrais plutôt te tourner vers un événement plus approprié et en rapport avec ce que tu cherches à faire... comme par exemple utiliser l'événement "AfterUpdate" de la zone de texte (celle que tu considère comme précédente... ;-)
"JMH"
| J'ai des champs sur un formulaire dont certains vont par paire.
|
| Dans un champ précis Sur focus(par exemple)
| j'aimerai récupérer le nom du champ précédent (selon l'ordre de tabulation),
| ce n'est pas nécessairement le PreviousControl
|
| Ensuite je testerai la valeur de ce champ avec Me(NomDuChampTrouve).value | "Merci pour la réponse"
Tu dis: ce n'est pas nécessairement le "PreviousControl"...
Ce PreviousControl est la controle qui a le focus précédement et n'a
rien à voir avec l'ordre de tabulation...
As-tu pensé que l'on peut "sauter" ou l'on veut dans une formulaire ?
et que, en dehors du controle précédent *ayant le focus* cette
expression ne veut pas dire grand chose ?
Je pense que tu devrais plutôt te tourner vers un événement plus
approprié et en rapport avec ce que tu cherches à faire...
comme par exemple utiliser l'événement "AfterUpdate" de la zone
de texte (celle que tu considère comme précédente... ;-)
"JMH" | J'ai des champs sur un formulaire dont certains vont par paire. | | Dans un champ précis Sur focus(par exemple) | j'aimerai récupérer le nom du champ précédent (selon l'ordre de tabulation), | ce n'est pas nécessairement le PreviousControl | | Ensuite je testerai la valeur de ce champ avec Me(NomDuChampTrouve).value | "Merci pour la réponse"
Tu dis: ce n'est pas nécessairement le "PreviousControl"...
Ce PreviousControl est la controle qui a le focus précédement et n'a rien à voir avec l'ordre de tabulation...
As-tu pensé que l'on peut "sauter" ou l'on veut dans une formulaire ? et que, en dehors du controle précédent *ayant le focus* cette expression ne veut pas dire grand chose ?
Je pense que tu devrais plutôt te tourner vers un événement plus approprié et en rapport avec ce que tu cherches à faire... comme par exemple utiliser l'événement "AfterUpdate" de la zone de texte (celle que tu considère comme précédente... ;-)
En fait mon problème est que pour gagner des intructions à mettre partout, je voulais passer par une fonction,
J'ai des champs:
A B C D E F G H I J
Tous les champs de droites sont des champs de dates Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Exemple Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche "A" est Null, si OUI on va au champ suivant Si le champ de gauche n'est pas NULL, pas de traitement.
Quand j'arrive dans le champ de droite "B", je pars dans un formulaire calendrier (MSCalender) Celui-ci me renvoie la date choisie dans le champ "B" Je récupère la valeur au moyen d'une variable globale mise à jour dans le formulaire Calendrier.
La version simple: Mettre les noms exacts et gérer 2 événements pour toute la mise à jour J'en ai 12 et je pensais que passer par une fonction allait me faire gagner du temps.
Version Compliquée: Evenement du champ B: if me(ActiveValue).name) index-1 (champ précédent) est NULL, exit (ici c'est la valeur champ précédent que je ne sais comment avoir) globalVariable = me(activeControle).Name
Routine calendrier traitement globalVariable = me(activeControle).name etc.
Bon c'est aussi faisable en version simple.
A+
"3stone" a écrit dans le message de news: %
Salut,
"JMH" | J'ai des champs sur un formulaire dont certains vont par paire. | | Dans un champ précis Sur focus(par exemple) | j'aimerai récupérer le nom du champ précédent (selon l'ordre de tabulation), | ce n'est pas nécessairement le PreviousControl | | Ensuite je testerai la valeur de ce champ avec Me(NomDuChampTrouve).value > | "Merci pour la réponse"
Tu dis: ce n'est pas nécessairement le "PreviousControl"...
Ce PreviousControl est la controle qui a le focus précédement et n'a rien à voir avec l'ordre de tabulation...
As-tu pensé que l'on peut "sauter" ou l'on veut dans une formulaire ? et que, en dehors du controle précédent *ayant le focus* cette expression ne veut pas dire grand chose ?
Je pense que tu devrais plutôt te tourner vers un événement plus approprié et en rapport avec ce que tu cherches à faire... comme par exemple utiliser l'événement "AfterUpdate" de la zone de texte (celle que tu considère comme précédente... ;-)
En fait mon problème est que pour gagner des intructions à mettre partout,
je voulais passer par une fonction,
J'ai des champs:
A B
C D
E F
G H
I J
Tous les champs de droites sont des champs de dates
Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Exemple
Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche
"A" est Null, si OUI on va au champ suivant
Si le champ de gauche n'est pas NULL, pas de traitement.
Quand j'arrive dans le champ de droite "B", je pars dans un formulaire
calendrier (MSCalender)
Celui-ci me renvoie la date choisie dans le champ "B"
Je récupère la valeur au moyen d'une variable globale mise à jour dans le
formulaire Calendrier.
La version simple:
Mettre les noms exacts et gérer 2 événements pour toute la mise à jour
J'en ai 12 et je pensais que passer par une fonction allait me faire gagner
du temps.
Version Compliquée:
Evenement du champ B: if me(ActiveValue).name) index-1 (champ précédent)
est NULL, exit (ici c'est la valeur champ précédent que je ne sais
comment avoir)
globalVariable =
me(activeControle).Name
Routine calendrier
traitement
globalVariable = me(activeControle).name
etc.
Bon c'est aussi faisable en version simple.
A+
"3stone" <home@sweet_home.be> a écrit dans le message de news:
%236A9K7YUIHA.1188@TK2MSFTNGP04.phx.gbl...
Salut,
"JMH"
| J'ai des champs sur un formulaire dont certains vont par paire.
|
| Dans un champ précis Sur focus(par exemple)
| j'aimerai récupérer le nom du champ précédent (selon l'ordre de
tabulation),
| ce n'est pas nécessairement le PreviousControl
|
| Ensuite je testerai la valeur de ce champ avec
Me(NomDuChampTrouve).value > | "Merci pour la réponse"
Tu dis: ce n'est pas nécessairement le "PreviousControl"...
Ce PreviousControl est la controle qui a le focus précédement et n'a
rien à voir avec l'ordre de tabulation...
As-tu pensé que l'on peut "sauter" ou l'on veut dans une formulaire ?
et que, en dehors du controle précédent *ayant le focus* cette
expression ne veut pas dire grand chose ?
Je pense que tu devrais plutôt te tourner vers un événement plus
approprié et en rapport avec ce que tu cherches à faire...
comme par exemple utiliser l'événement "AfterUpdate" de la zone
de texte (celle que tu considère comme précédente... ;-)
En fait mon problème est que pour gagner des intructions à mettre partout, je voulais passer par une fonction,
J'ai des champs:
A B C D E F G H I J
Tous les champs de droites sont des champs de dates Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Exemple Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche "A" est Null, si OUI on va au champ suivant Si le champ de gauche n'est pas NULL, pas de traitement.
Quand j'arrive dans le champ de droite "B", je pars dans un formulaire calendrier (MSCalender) Celui-ci me renvoie la date choisie dans le champ "B" Je récupère la valeur au moyen d'une variable globale mise à jour dans le formulaire Calendrier.
La version simple: Mettre les noms exacts et gérer 2 événements pour toute la mise à jour J'en ai 12 et je pensais que passer par une fonction allait me faire gagner du temps.
Version Compliquée: Evenement du champ B: if me(ActiveValue).name) index-1 (champ précédent) est NULL, exit (ici c'est la valeur champ précédent que je ne sais comment avoir) globalVariable = me(activeControle).Name
Routine calendrier traitement globalVariable = me(activeControle).name etc.
Bon c'est aussi faisable en version simple.
A+
"3stone" a écrit dans le message de news: %
Salut,
"JMH" | J'ai des champs sur un formulaire dont certains vont par paire. | | Dans un champ précis Sur focus(par exemple) | j'aimerai récupérer le nom du champ précédent (selon l'ordre de tabulation), | ce n'est pas nécessairement le PreviousControl | | Ensuite je testerai la valeur de ce champ avec Me(NomDuChampTrouve).value > | "Merci pour la réponse"
Tu dis: ce n'est pas nécessairement le "PreviousControl"...
Ce PreviousControl est la controle qui a le focus précédement et n'a rien à voir avec l'ordre de tabulation...
As-tu pensé que l'on peut "sauter" ou l'on veut dans une formulaire ? et que, en dehors du controle précédent *ayant le focus* cette expression ne veut pas dire grand chose ?
Je pense que tu devrais plutôt te tourner vers un événement plus approprié et en rapport avec ce que tu cherches à faire... comme par exemple utiliser l'événement "AfterUpdate" de la zone de texte (celle que tu considère comme précédente... ;-)
"JMH" | En fait mon problème est que pour gagner des intructions à mettre partout, | je voulais passer par une fonction, | | J'ai des champs: | | A B | C D | E F | G H | I J | | Tous les champs de droites sont des champs de dates | Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Plutôt bizarre pour un formulaire... Bien que tu ne dise pas ce que tu cherches à gérer de la sorte, on sent nettement la "manière Excel" dans la méthode ;-) Ce qui par ailleurs laisse à penser que tu as un problème de conception au niveau des tables. Cette répétition de données devrait plutôt se retrouver dans un sous-formulaire en mode continu. Mais sans plus de détails...
| Exemple | Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche | "A" est Null, si OUI on va au champ suivant | Si le champ de gauche n'est pas NULL, pas de traitement. | | Quand j'arrive dans le champ de droite "B", je pars dans un formulaire | calendrier (MSCalender) | Celui-ci me renvoie la date choisie dans le champ "B" | Je récupère la valeur au moyen d'une variable globale mise à jour dans le | formulaire Calendrier.
Si vraiment... Tu peux t'aider en donnant un nom générique aux zones de texte, dans le style 'txtNom1' et 'txtDate1', puis 'txtNom2' et 'txtDate2' En entrée de ton formulaire calendrier, tu récupère le nom de la zone actuelle (currentcontrol) et tu en déduis facilement la zone nom dans une seule et même fonction...
"JMH"
| En fait mon problème est que pour gagner des intructions à mettre partout,
| je voulais passer par une fonction,
|
| J'ai des champs:
|
| A B
| C D
| E F
| G H
| I J
|
| Tous les champs de droites sont des champs de dates
| Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Plutôt bizarre pour un formulaire...
Bien que tu ne dise pas ce que tu cherches à gérer de la sorte, on
sent nettement la "manière Excel" dans la méthode ;-)
Ce qui par ailleurs laisse à penser que tu as un problème de conception
au niveau des tables. Cette répétition de données devrait plutôt se
retrouver dans un sous-formulaire en mode continu.
Mais sans plus de détails...
| Exemple
| Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche
| "A" est Null, si OUI on va au champ suivant
| Si le champ de gauche n'est pas NULL, pas de traitement.
|
| Quand j'arrive dans le champ de droite "B", je pars dans un formulaire
| calendrier (MSCalender)
| Celui-ci me renvoie la date choisie dans le champ "B"
| Je récupère la valeur au moyen d'une variable globale mise à jour dans le
| formulaire Calendrier.
Si vraiment...
Tu peux t'aider en donnant un nom générique aux zones de texte, dans
le style 'txtNom1' et 'txtDate1', puis 'txtNom2' et 'txtDate2'
En entrée de ton formulaire calendrier, tu récupère le nom de la zone
actuelle (currentcontrol) et tu en déduis facilement la zone nom dans
une seule et même fonction...
"JMH" | En fait mon problème est que pour gagner des intructions à mettre partout, | je voulais passer par une fonction, | | J'ai des champs: | | A B | C D | E F | G H | I J | | Tous les champs de droites sont des champs de dates | Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Plutôt bizarre pour un formulaire... Bien que tu ne dise pas ce que tu cherches à gérer de la sorte, on sent nettement la "manière Excel" dans la méthode ;-) Ce qui par ailleurs laisse à penser que tu as un problème de conception au niveau des tables. Cette répétition de données devrait plutôt se retrouver dans un sous-formulaire en mode continu. Mais sans plus de détails...
| Exemple | Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche | "A" est Null, si OUI on va au champ suivant | Si le champ de gauche n'est pas NULL, pas de traitement. | | Quand j'arrive dans le champ de droite "B", je pars dans un formulaire | calendrier (MSCalender) | Celui-ci me renvoie la date choisie dans le champ "B" | Je récupère la valeur au moyen d'une variable globale mise à jour dans le | formulaire Calendrier.
Si vraiment... Tu peux t'aider en donnant un nom générique aux zones de texte, dans le style 'txtNom1' et 'txtDate1', puis 'txtNom2' et 'txtDate2' En entrée de ton formulaire calendrier, tu récupère le nom de la zone actuelle (currentcontrol) et tu en déduis facilement la zone nom dans une seule et même fonction...
Salut 3stone Je te remercie pour tes explications. En fait j'ai traité par une fonction dans laquelle je passe les noms des champs (actuel et -1) et la le traitement est le même pour tous. Donc mon problème est résolu.
Merci encore.
"3stone" a écrit dans le message de news:%23O%
Salut,
"JMH" | En fait mon problème est que pour gagner des intructions à mettre partout, | je voulais passer par une fonction, | | J'ai des champs: | | A B | C D | E F | G H | I J | | Tous les champs de droites sont des champs de dates | Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Plutôt bizarre pour un formulaire... Bien que tu ne dise pas ce que tu cherches à gérer de la sorte, on sent nettement la "manière Excel" dans la méthode ;-) Ce qui par ailleurs laisse à penser que tu as un problème de conception au niveau des tables. Cette répétition de données devrait plutôt se retrouver dans un sous-formulaire en mode continu. Mais sans plus de détails...
| Exemple | Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche | "A" est Null, si OUI on va au champ suivant | Si le champ de gauche n'est pas NULL, pas de traitement. | | Quand j'arrive dans le champ de droite "B", je pars dans un formulaire | calendrier (MSCalender) | Celui-ci me renvoie la date choisie dans le champ "B" | Je récupère la valeur au moyen d'une variable globale mise à jour dans le | formulaire Calendrier.
Si vraiment... Tu peux t'aider en donnant un nom générique aux zones de texte, dans le style 'txtNom1' et 'txtDate1', puis 'txtNom2' et 'txtDate2' En entrée de ton formulaire calendrier, tu récupère le nom de la zone actuelle (currentcontrol) et tu en déduis facilement la zone nom dans une seule et même fonction...
Salut 3stone
Je te remercie pour tes explications.
En fait j'ai traité par une fonction dans laquelle je passe les noms des
champs (actuel et -1) et la le traitement est le même pour tous.
Donc mon problème est résolu.
Merci encore.
"3stone" <home@sweet_home.be> a écrit dans le message de
news:%23O%236mNfUIHA.4360@TK2MSFTNGP06.phx.gbl...
Salut,
"JMH"
| En fait mon problème est que pour gagner des intructions à mettre
partout,
| je voulais passer par une fonction,
|
| J'ai des champs:
|
| A B
| C D
| E F
| G H
| I J
|
| Tous les champs de droites sont des champs de dates
| Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Plutôt bizarre pour un formulaire...
Bien que tu ne dise pas ce que tu cherches à gérer de la sorte, on
sent nettement la "manière Excel" dans la méthode ;-)
Ce qui par ailleurs laisse à penser que tu as un problème de conception
au niveau des tables. Cette répétition de données devrait plutôt se
retrouver dans un sous-formulaire en mode continu.
Mais sans plus de détails...
| Exemple
| Quand j'arrive sur un champ de droite "B", je teste si le champ de
gauche
| "A" est Null, si OUI on va au champ suivant
| Si le champ de gauche n'est pas NULL, pas de traitement.
|
| Quand j'arrive dans le champ de droite "B", je pars dans un formulaire
| calendrier (MSCalender)
| Celui-ci me renvoie la date choisie dans le champ "B"
| Je récupère la valeur au moyen d'une variable globale mise à jour dans
le
| formulaire Calendrier.
Si vraiment...
Tu peux t'aider en donnant un nom générique aux zones de texte, dans
le style 'txtNom1' et 'txtDate1', puis 'txtNom2' et 'txtDate2'
En entrée de ton formulaire calendrier, tu récupère le nom de la zone
actuelle (currentcontrol) et tu en déduis facilement la zone nom dans
une seule et même fonction...
Salut 3stone Je te remercie pour tes explications. En fait j'ai traité par une fonction dans laquelle je passe les noms des champs (actuel et -1) et la le traitement est le même pour tous. Donc mon problème est résolu.
Merci encore.
"3stone" a écrit dans le message de news:%23O%
Salut,
"JMH" | En fait mon problème est que pour gagner des intructions à mettre partout, | je voulais passer par une fonction, | | J'ai des champs: | | A B | C D | E F | G H | I J | | Tous les champs de droites sont des champs de dates | Tous les champ de gauches sont des champ de Noms, remplis ou pas.
Plutôt bizarre pour un formulaire... Bien que tu ne dise pas ce que tu cherches à gérer de la sorte, on sent nettement la "manière Excel" dans la méthode ;-) Ce qui par ailleurs laisse à penser que tu as un problème de conception au niveau des tables. Cette répétition de données devrait plutôt se retrouver dans un sous-formulaire en mode continu. Mais sans plus de détails...
| Exemple | Quand j'arrive sur un champ de droite "B", je teste si le champ de gauche | "A" est Null, si OUI on va au champ suivant | Si le champ de gauche n'est pas NULL, pas de traitement. | | Quand j'arrive dans le champ de droite "B", je pars dans un formulaire | calendrier (MSCalender) | Celui-ci me renvoie la date choisie dans le champ "B" | Je récupère la valeur au moyen d'une variable globale mise à jour dans le | formulaire Calendrier.
Si vraiment... Tu peux t'aider en donnant un nom générique aux zones de texte, dans le style 'txtNom1' et 'txtDate1', puis 'txtNom2' et 'txtDate2' En entrée de ton formulaire calendrier, tu récupère le nom de la zone actuelle (currentcontrol) et tu en déduis facilement la zone nom dans une seule et même fonction...