OVH Cloud OVH Cloud

effacer le contenu de tous les champs dans un formulaire

3 réponses
Avatar
doudou
bonjour à tous,
j'ai un formulaire de saisie indépendant composé de 32 champs qui permet
d'ajouter des enregistrements à une table "article".
une fois tous les champs complètés, un bouton "valider" permet d'appeler une
requête ajout. Ca marche ! J'aimerais ensuite pouvoir vider tous les champs
afin que les utilisateurs soient assurés que tout est ok.
j'utilisais jusqu'à présent la méthode suivante dans ma procédure
événementielle :
Requête ajout puis :
[Champ1].SetFocus
[Champ1].Text=""
[Champ2].SetFocus.....etc....
mais au vu le nombre de champs, j'aimerais savoir si il existe une procédure
moins fastidieuse, par exemple, pouvoir exécuter un code qui balaie tous les
champs du formulaire et qui les vide.
Pourriez-vous m'indiquer des liens traitant de cela SVP.
J'ai beau chercher ... je ne trouve pas.
Merci d'avance pour votre aide
Doudou

3 réponses

Avatar
Gafish
"doudou" a écrit dans le message de news:
43786f24$0$19687$
bonjour à tous,


Bonjour,

j'ai un formulaire de saisie indépendant composé de 32 champs qui permet
d'ajouter des enregistrements à une table "article".
une fois tous les champs complètés, un bouton "valider" permet d'appeler
une requête ajout. Ca marche ! J'aimerais ensuite pouvoir vider tous les
champs afin que les utilisateurs soient assurés que tout est ok.
j'aimerais savoir si il existe une procédure moins fastidieuse, par
exemple, pouvoir exécuter un code qui balaie tous les champs du formulaire
et qui les vide.


Essaie quelques chose du genre :
Dim unChamp as control
For Each unChamp in Forms("NomDuForm").controls
unChamp.Value = ""
Next

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
doudou
"Gafish" a écrit dans le message de news:

"doudou" a écrit dans le message de news:
43786f24$0$19687$
bonjour à tous,


Bonjour,

j'ai un formulaire de saisie indépendant composé de 32 champs qui permet
d'ajouter des enregistrements à une table "article".
une fois tous les champs complètés, un bouton "valider" permet d'appeler
une requête ajout. Ca marche ! J'aimerais ensuite pouvoir vider tous les
champs afin que les utilisateurs soient assurés que tout est ok.
j'aimerais savoir si il existe une procédure moins fastidieuse, par
exemple, pouvoir exécuter un code qui balaie tous les champs du formulaire
et qui les vide.


Essaie quelques chose du genre :
Dim unChamp as control
For Each unChamp in Forms("NomDuForm").controls
unChamp.Value = ""
Next

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Visiblement ma réponse n'est pas arrivé aux news

Merci Arnaud
En prenant tes indications j'ai réussi à trouver la bonne formule, décrite
ci-dessous :
Dim Cmp As Control
For Each Cmp In Me.Controls
If Cmp.ControlType = acTextBox Then Cmp.Value = ""
Next Cmp
et meme chose pour les listes de choix ou cases à cocher
en remplaçant acTextBox
Tu m'as fait gagner du temps et des écritures !!
merci de ton aide
Doudou




Avatar
lectriceNews
Bonjour,

doudou wrote:
"Gafish" a écrit dans le message de
news:
"doudou" a écrit dans le message de news:
43786f24$0$19687$
bonjour à tous,


Bonjour,

j'ai un formulaire de saisie indépendant composé de 32 champs qui
permet d'ajouter des enregistrements à une table "article".
une fois tous les champs complètés, un bouton "valider" permet
d'appeler une requête ajout. Ca marche ! J'aimerais ensuite pouvoir
vider tous les champs afin que les utilisateurs soient assurés que
tout est ok. j'aimerais savoir si il existe une procédure moins
fastidieuse, par exemple, pouvoir exécuter un code qui balaie tous
les champs du formulaire et qui les vide.


Essaie quelques chose du genre :
Dim unChamp as control
For Each unChamp in Forms("NomDuForm").controls
unChamp.Value = ""
Next

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Visiblement ma réponse n'est pas arrivé aux news

Merci Arnaud
En prenant tes indications j'ai réussi à trouver la bonne formule,
décrite ci-dessous :
Dim Cmp As Control
For Each Cmp In Me.Controls
If Cmp.ControlType = acTextBox Then Cmp.Value = ""
Next Cmp
et meme chose pour les listes de choix ou cases à cocher
en remplaçant acTextBox
Tu m'as fait gagner du temps et des écritures !!
merci de ton aide
Doudou


Pour apprendre je lis les posts, ce serait sympa de répondre à la question
que je me pose concernant ton problème.

Pourquoi avoir choisi la solution d'un formulaire indépendant suivi d'une
requête ajout et d'une procédure pour "vider" le formulaire au lieu d'un
formulaire basé sur la table ?
Un formulaire basé sur la table (ouvert en mode ajout), quand on le valide
ou qu'on passe à l'enregistrement suivant, ajoute tout seul les données
dans ta table (pas besoin de requête ajout) et il se "vide" tout seul quand
on passe à l'enregistrement suivant (pas besoin de procédure spéciale). Ou
est-ce que je n'ai pas compris ce que tu cherches ?

Merci déjà.
----------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
---------------------