Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Access 97 : Frm: Modification de la prorièté Enabled d'un champ

4 réponses
Avatar
Dom
Bonsoir,

Soit un formulaire "frm_Test" fondé sur une table "Tbl_Test" avec un champ
"Solde" (Monétaire, 2 décimales). A sa première ouverture, l'utilisateur
doit saisir une valeur numérique dans un champ "Solde" (champ de la table,
vide à l'ouverture du frm).

Le "frm_Test" dispose d'un bouton de commande "Validation" (Sur_Click) qui
empêche l'exécution du code sous-jacent au bouton si le champ "Solde" n'a
pas été saisi et le "frm_Test" est fermé. Si le champ "Solde" est servi, on
enchaîne sur l'ouverture d'un formulaire "frm_Test2". Jusque-là, tout va
bien.

Mon souci est le suivant : lors de la seconde ouverture du formulaire
"frm_Test", je souhaite qu'il ne soit plus possible d'accéder au champ
"Solde" s'il a déjà été saisi lors de sa première ouverture, et dans le cas
contraire, que l'on puisse néanmoins ouvrir "frm_test2".

Sauriez-vous faire cela ?

Dominique.

4 réponses

Avatar
Eric
Bonsoir,

Ne sachant pas comment est lancé une deuxième fois l'ouverture du
frm_test, quelques idées:

-Utiliser la propriété OpenArgs (argument d'ouverture) sur la commande
OpenForm (je crois qu'elle existait en A97) qui serait positionnée à Non
si le champ Solde a été rempli la 1ère fois et utiliser cette valeur
pour désactiver le champ Solde. (Je crois qu'OpenArgs ne stocke que des
chaines de caractères, à vérifier)
- Utiliser une variable de portée globale déclarée dans un module global
par Public bOk as Boolean. Celle-ci serait initialisée à Oui sur clic du
bouton Validation si le champ Solde a été renseigné, puis testée lors de
la 2ème ouverture pour désactiver le champ Solde, après avoir mis le
focus sur un autre contrôle, par quelque chose comme :
me!Solde.enabled= not bOk

Bonsoir,

Soit un formulaire "frm_Test" fondé sur une table "Tbl_Test" avec un champ
"Solde" (Monétaire, 2 décimales). A sa première ouverture, l'utilisateur
doit saisir une valeur numérique dans un champ "Solde" (champ de la table,
vide à l'ouverture du frm).

Le "frm_Test" dispose d'un bouton de commande "Validation" (Sur_Click) qui
empêche l'exécution du code sous-jacent au bouton si le champ "Solde" n'a
pas été saisi et le "frm_Test" est fermé. Si le champ "Solde" est servi, on
enchaîne sur l'ouverture d'un formulaire "frm_Test2". Jusque-là, tout va
bien.

Mon souci est le suivant : lors de la seconde ouverture du formulaire
"frm_Test", je souhaite qu'il ne soit plus possible d'accéder au champ
"Solde" s'il a déjà été saisi lors de sa première ouverture, et dans le cas
contraire, que l'on puisse néanmoins ouvrir "frm_test2".

Sauriez-vous faire cela ?

Dominique.












--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
yakakose
Salut,

Et pourquoi tu testerais pas la valeur de solde à l'ouverture de ton
formulaire? Si Not Null et bien tu le rends verouillé=true.

A+,


"Dom" a écrit dans le message de news:
47543e79$1$2546$
Bonsoir,

Soit un formulaire "frm_Test" fondé sur une table "Tbl_Test" avec un champ
"Solde" (Monétaire, 2 décimales). A sa première ouverture, l'utilisateur
doit saisir une valeur numérique dans un champ "Solde" (champ de la table,
vide à l'ouverture du frm).

Le "frm_Test" dispose d'un bouton de commande "Validation" (Sur_Click) qui
empêche l'exécution du code sous-jacent au bouton si le champ "Solde" n'a
pas été saisi et le "frm_Test" est fermé. Si le champ "Solde" est servi,
on
enchaîne sur l'ouverture d'un formulaire "frm_Test2". Jusque-là, tout va
bien.

Mon souci est le suivant : lors de la seconde ouverture du formulaire
"frm_Test", je souhaite qu'il ne soit plus possible d'accéder au champ
"Solde" s'il a déjà été saisi lors de sa première ouverture, et dans le
cas
contraire, que l'on puisse néanmoins ouvrir "frm_test2".

Sauriez-vous faire cela ?

Dominique.













Avatar
Dom
Merci :-), je vais essayer.

Dominique.

"Eric" a écrit dans le message de news:
%23I%23%
Bonsoir,

Ne sachant pas comment est lancé une deuxième fois l'ouverture du
frm_test, quelques idées:

-Utiliser la propriété OpenArgs (argument d'ouverture) sur la commande
OpenForm (je crois qu'elle existait en A97) qui serait positionnée à Non
si le champ Solde a été rempli la 1ère fois et utiliser cette valeur pour
désactiver le champ Solde. (Je crois qu'OpenArgs ne stocke que des chaines
de caractères, à vérifier)
- Utiliser une variable de portée globale déclarée dans un module global
par Public bOk as Boolean. Celle-ci serait initialisée à Oui sur clic du
bouton Validation si le champ Solde a été renseigné, puis testée lors de
la 2ème ouverture pour désactiver le champ Solde, après avoir mis le focus
sur un autre contrôle, par quelque chose comme :
me!Solde.enabled= not bOk

Bonsoir,

Soit un formulaire "frm_Test" fondé sur une table "Tbl_Test" avec un
champ
"Solde" (Monétaire, 2 décimales). A sa première ouverture, l'utilisateur
doit saisir une valeur numérique dans un champ "Solde" (champ de la
table,
vide à l'ouverture du frm).

Le "frm_Test" dispose d'un bouton de commande "Validation" (Sur_Click)
qui
empêche l'exécution du code sous-jacent au bouton si le champ "Solde" n'a
pas été saisi et le "frm_Test" est fermé. Si le champ "Solde" est servi,
on
enchaîne sur l'ouverture d'un formulaire "frm_Test2". Jusque-là, tout va
bien.

Mon souci est le suivant : lors de la seconde ouverture du formulaire
"frm_Test", je souhaite qu'il ne soit plus possible d'accéder au champ
"Solde" s'il a déjà été saisi lors de sa première ouverture, et dans le
cas
contraire, que l'on puisse néanmoins ouvrir "frm_test2".

Sauriez-vous faire cela ?

Dominique.












--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Dom
Ben oui , ça marche ;-)))) Suis-je bête !!!!

If Not IsNull(Me.T_Caisse_SoldeP2) Then
Me.T_Caisse_SoldeP2.Enabled = False
Else
'...'

End if

Je fatigue...

Merci bien.

Vais essayer de dérouiller ma Ram ;-)))


Dom.


"yakakose" a écrit dans le message de news:

Salut,

Et pourquoi tu testerais pas la valeur de solde à l'ouverture de ton
formulaire? Si Not Null et bien tu le rends verouillé=true.

A+,


"Dom" a écrit dans le message de news:
47543e79$1$2546$
Bonsoir,

Soit un formulaire "frm_Test" fondé sur une table "Tbl_Test" avec un
champ
"Solde" (Monétaire, 2 décimales). A sa première ouverture, l'utilisateur
doit saisir une valeur numérique dans un champ "Solde" (champ de la
table,
vide à l'ouverture du frm).

Le "frm_Test" dispose d'un bouton de commande "Validation" (Sur_Click)
qui
empêche l'exécution du code sous-jacent au bouton si le champ "Solde" n'a
pas été saisi et le "frm_Test" est fermé. Si le champ "Solde" est servi,
on
enchaîne sur l'ouverture d'un formulaire "frm_Test2". Jusque-là, tout va
bien.

Mon souci est le suivant : lors de la seconde ouverture du formulaire
"frm_Test", je souhaite qu'il ne soit plus possible d'accéder au champ
"Solde" s'il a déjà été saisi lors de sa première ouverture, et dans le
cas
contraire, que l'on puisse néanmoins ouvrir "frm_test2".

Sauriez-vous faire cela ?

Dominique.