Nom du champ qui a le focus

Le
Jacques
Bonjour,

Avec
LeNom = Screen.PreviousControl.Name
J’obtiens le nom de mon contrôle.

Avec
lavaleur = Screen.PreviousControl
J’obtient la valeur contenu dans le contrôle

Comment connaître le nom du champ qui alimente le contrôle qui a le
focus ?

Merci pour votre aide.

Salutations
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #21275501
Bonsoir,

Jacques a écrit :
Bonjour,

Avec
LeNom = Screen.PreviousControl.Name
J’obtiens le nom de mon contrôle.

Avec
lavaleur = Screen.PreviousControl
J’obtient la valeur contenu dans le contrôle

Comment connaître le nom du champ qui alimente le contrôle qui a le
focus ?

Merci pour votre aide.

Salutations



MsgBox Me(Screen.PreviousControl.Name).ControlSource

PS: Mais il serait plus prudent de tester le type de contrôle avant.
Jacques
Le #21276111
On 26 fév, 23:00, Michel__D wrote:
Bonsoir,

Jacques a crit :





> Bonjour,

> Avec
> LeNom = Screen.PreviousControl.Name
> J obtiens le nom de mon contr le.

> Avec
> lavaleur = Screen.PreviousControl
> J obtient la valeur contenu dans le contr le

> Comment conna tre le nom du champ qui alimente le contr le qui a le
> focus ?

> Merci pour votre aide.

> Salutations

MsgBox Me(Screen.PreviousControl.Name).ControlSource

PS: Mais il serait plus prudent de tester le type de contr le avant.- Mas quer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Michel_D

Merci pour ta réponse.

Je suis sur ma zone de texte qui a le focus, je connais maintemant le
nom du champ
et le nom de la zone de texte.

comment faire pour supprimer la valeur quelle contient ?

Salutations
Michel__D
Le #21277811
Bonjour,

Jacques a écrit :
On 26 fév, 23:00, Michel__D wrote:

Bonsoir,

Jacques a crit :






Bonjour,

Avec
LeNom = Screen.PreviousControl.Name
J obtiens le nom de mon contr le.

Avec
lavaleur = Screen.PreviousControl
J obtient la valeur contenu dans le contr le

Comment conna tre le nom du champ qui alimente le contr le qui a le
focus ?

Merci pour votre aide.

Salutations



MsgBox Me(Screen.PreviousControl.Name).ControlSource

PS: Mais il serait plus prudent de tester le type de contr le avant.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -




Bonjour Michel_D

Merci pour ta réponse.

Je suis sur ma zone de texte qui a le focus, je connais maintemant le
nom du champ
et le nom de la zone de texte.

comment faire pour supprimer la valeur quelle contient ?

Salutations



J'ai pas testé, mais Me(Screen.PreviousControl.Name).Value = "" ne
donnerait-il pas le résultat voulu ?
Jacques
Le #21279241
On 27 fév, 12:01, Michel__D wrote:
Bonjour,

Jacques a crit :





> On 26 f v, 23:00, Michel__D > wrote:

>> Bonsoir,

>> Jacques a crit :

>>> Bonjour,

>>> Avec
>>> LeNom = Screen.PreviousControl.Name
>>> J obtiens le nom de mon contr le.

>>> Avec
>>> lavaleur = Screen.PreviousControl
>>> J obtient la valeur contenu dans le contr le

>>> Comment conna tre le nom du champ qui alimente le contr le qui a le
>>> focus ?

>>> Merci pour votre aide.

>>> Salutations

>> MsgBox Me(Screen.PreviousControl.Name).ControlSource

>> PS: Mais il serait plus prudent de tester le type de contr le avant.- Masquer le texte des messages pr c dents -

>> - Afficher le texte des messages pr c dents -

> Bonjour Michel_D

> Merci pour ta r ponse.

> Je suis sur ma zone de texte qui a le focus, je connais maintemant le
> nom du champ
> et le nom de la zone de texte.

> comment faire pour supprimer la valeur quelle contient ?

> Salutations

J'ai pas test , mais Me(Screen.PreviousControl.Name).Value = "" ne
donnerait-il pas le r sultat voulu ?- Masquer le texte des messages pré cédents -

- Afficher le texte des messages précédents -



Re bonjour Micel_D

Voila ce que j'ai fait, est-ce que l'on peux simplifier le code ?

'--- Définie le non du contrôle actif
CtrlValeur = Screen.PreviousControl

'--- Boucle sur les contrôle du formulaire
For Each Ctrl In Forms![frm saisie].Controls

'On vérifie que le ctrl soit bien une zone de texte
If TypeOf Ctrl Is TextBox Then

'On vérifie que le ctrl n'est pas vide
If LTrim(Nz(CtrlValeur, "")) = "" Then
MsgBox "Aucune réservation à supprimer"
Exit For
End If

'Si ctrl n'est pas vide
If LTrim(Ctrl) = CtrlValeur Then
rep = MsgBox("Souhaitez-vous supprimer la
réservation:" _
& vbCrLf & vbCrLf & "
" & CtrlValeur, vbYesNo)
If (rep = vbYes) Then
Ctrl.Value = ""
Ctrl.SetFocus
Exit For
Else
Me.Undo
Ctrl.SetFocus
Exit For
End If
End If
End If
Next

A+

Salutations
Michel__D
Le #21280351
Re,

Jacques a écrit :
On 27 fév, 12:01, Michel__D wrote:

Bonjour,

Jacques a crit :






On 26 f v, 23:00, Michel__D wrote:

Bonsoir,

Jacques a crit :

Bonjour,

Avec
LeNom = Screen.PreviousControl.Name
J obtiens le nom de mon contr le.

Avec
lavaleur = Screen.PreviousControl
J obtient la valeur contenu dans le contr le

Comment conna tre le nom du champ qui alimente le contr le qui a le
focus ?

Merci pour votre aide.

Salutations



MsgBox Me(Screen.PreviousControl.Name).ControlSource

PS: Mais il serait plus prudent de tester le type de contr le avant.- Masquer le texte des messages pr c dents -

- Afficher le texte des messages pr c dents -



Bonjour Michel_D

Merci pour ta r ponse.

Je suis sur ma zone de texte qui a le focus, je connais maintemant le
nom du champ
et le nom de la zone de texte.

comment faire pour supprimer la valeur quelle contient ?

Salutations



J'ai pas test , mais Me(Screen.PreviousControl.Name).Value = "" ne
donnerait-il pas le r sultat voulu ?- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -




Re bonjour Micel_D

Voila ce que j'ai fait, est-ce que l'on peux simplifier le code ?

'--- Définie le non du contrôle actif
CtrlValeur = Screen.PreviousControl

'--- Boucle sur les contrôle du formulaire
For Each Ctrl In Forms![frm saisie].Controls

'On vérifie que le ctrl soit bien une zone de texte
If TypeOf Ctrl Is TextBox Then

'On vérifie que le ctrl n'est pas vide
If LTrim(Nz(CtrlValeur, "")) = "" Then
MsgBox "Aucune réservation à supprimer"
Exit For
End If

'Si ctrl n'est pas vide
If LTrim(Ctrl) = CtrlValeur Then
rep = MsgBox("Souhaitez-vous supprimer la
réservation:" _
& vbCrLf & vbCrLf & "
" & CtrlValeur, vbYesNo)
If (rep = vbYes) Then
Ctrl.Value = ""
Ctrl.SetFocus
Exit For
Else
Me.Undo
Ctrl.SetFocus
Exit For
End If
End If
End If
Next

A+

Salutations




Heu, ce code est exécuté quand ? comment ? et pourquoi faire ?
Jacques
Le #21285211
On 27 fév, 19:23, Michel__D wrote:
Re,

Jacques a crit :





> On 27 f v, 12:01, Michel__D > wrote:

>> Bonjour,

>> Jacques a crit :

>>> On 26 f v, 23:00, Michel__D >>> wrote:

>>>> Bonsoir,

>>>> Jacques a crit :

>>>>> Bonjour,

>>>>> Avec
>>>>> LeNom = Screen.PreviousControl.Name
>>>>> J obtiens le nom de mon contr le.

>>>>> Avec
>>>>> lavaleur = Screen.PreviousControl
>>>>> J obtient la valeur contenu dans le contr le

>>>>> Comment conna tre le nom du champ qui alimente le contr le qui a le
>>>>> focus ?

>>>>> Merci pour votre aide.

>>>>> Salutations

>>>> MsgBox Me(Screen.PreviousControl.Name).ControlSource

>>>> PS: Mais il serait plus prudent de tester le type de contr le avant. - Masquer le texte des messages pr c dents -

>>>> - Afficher le texte des messages pr c dents -

>>> Bonjour Michel_D

>>> Merci pour ta r ponse.

>>> Je suis sur ma zone de texte qui a le focus, je connais maintemant le
>>> nom du champ
>>> et le nom de la zone de texte.

>>> comment faire pour supprimer la valeur quelle contient ?

>>> Salutations

>> J'ai pas test , mais Me(Screen.PreviousControl.Name).Value = "" ne
>> donnerait-il pas le r sultat voulu ?- Masquer le texte des messages pr c dents -

>> - Afficher le texte des messages pr c dents -

> Re bonjour Micel_D

> Voila ce que j'ai fait, est-ce que l'on peux simplifier le code ?

> '--- D finie le non du contr le actif
>      CtrlValeur = Screen.PreviousControl

> '--- Boucle sur les contr le du formulaire
>      For Each Ctrl In Forms![frm saisie].Controls

>         'On v rifie que le ctrl soit bien une zone de texte
>          If TypeOf Ctrl Is TextBox Then

>             'On v rifie que le ctrl n'est pas vide
>              If LTrim(Nz(CtrlValeur, "")) = "" Then
>                   MsgBox "Aucune r servation supprime r"
>                 Exit For
>              End If

>              'Si ctrl n'est pas vide
>              If LTrim(Ctrl) = CtrlValeur Then
>                 rep = MsgBox("Souhaitez-vous supprime r la
> r servation:" _
>                             & vbCrLf & vbCr Lf & "
> " & CtrlValeur, vbYesNo)
>                   If (rep = vbYes) Then
>                      Ctrl.Value = ""
>                      Ctrl.SetFocus
>                      Exit For
>                   Else
>                      Me.Undo
>                      Ctrl.SetFocus
>                      Exit For
>                   End If
>              End If
>         End If
>     Next

> A+

> Salutations

Heu, ce code est ex cut quand ? comment ? et pourquoi faire ?- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Michel_D

Toutes mes excuses pour mon manque d'informations.

J'ai un Formulaire frm A et un sous formulaires sfm B,
lorsque j'ouvre le frm et que je clique sur le selecteur
d'enregistrement du sfm B
j'ouvre un autre formulaire frm C qui affiche l'enregistrement.
Je me place sur valeur de la zone de texte à supprimer, et un click
sur un bouton
déclenche le code.

A+

Salutations
Michel__D
Le #21286881
Bonjour,

Jacques a écrit :
On 27 fév, 19:23, Michel__D wrote:

Re,

Jacques a crit :






On 27 f v, 12:01, Michel__D wrote:

Bonjour,

Jacques a crit :

On 26 f v, 23:00, Michel__D wrote:

Bonsoir,

Jacques a crit :

Bonjour,

Avec
LeNom = Screen.PreviousControl.Name
J obtiens le nom de mon contr le.

Avec
lavaleur = Screen.PreviousControl
J obtient la valeur contenu dans le contr le

Comment conna tre le nom du champ qui alimente le contr le qui a le
focus ?

Merci pour votre aide.

Salutations



MsgBox Me(Screen.PreviousControl.Name).ControlSource

PS: Mais il serait plus prudent de tester le type de contr le avant.- Masquer le texte des messages pr c dents -

- Afficher le texte des messages pr c dents -



Bonjour Michel_D

Merci pour ta r ponse.

Je suis sur ma zone de texte qui a le focus, je connais maintemant le
nom du champ
et le nom de la zone de texte.

comment faire pour supprimer la valeur quelle contient ?

Salutations



J'ai pas test , mais Me(Screen.PreviousControl.Name).Value = "" ne
donnerait-il pas le r sultat voulu ?- Masquer le texte des messages pr c dents -

- Afficher le texte des messages pr c dents -



Re bonjour Micel_D

Voila ce que j'ai fait, est-ce que l'on peux simplifier le code ?

'--- D finie le non du contr le actif
CtrlValeur = Screen.PreviousControl

'--- Boucle sur les contr le du formulaire
For Each Ctrl In Forms![frm saisie].Controls

'On v rifie que le ctrl soit bien une zone de texte
If TypeOf Ctrl Is TextBox Then

'On v rifie que le ctrl n'est pas vide
If LTrim(Nz(CtrlValeur, "")) = "" Then
MsgBox "Aucune r servation supprimer"
Exit For
End If

'Si ctrl n'est pas vide
If LTrim(Ctrl) = CtrlValeur Then
rep = MsgBox("Souhaitez-vous supprimer la
r servation:" _
& vbCrLf & vbCrLf & "
" & CtrlValeur, vbYesNo)
If (rep = vbYes) Then
Ctrl.Value = ""
Ctrl.SetFocus
Exit For
Else
Me.Undo
Ctrl.SetFocus
Exit For
End If
End If
End If
Next

A+

Salutations



Heu, ce code est ex cut quand ? comment ? et pourquoi faire ?- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -




Bonjour Michel_D

Toutes mes excuses pour mon manque d'informations.

J'ai un Formulaire frm A et un sous formulaires sfm B,
lorsque j'ouvre le frm et que je clique sur le selecteur
d'enregistrement du sfm B
j'ouvre un autre formulaire frm C qui affiche l'enregistrement.
Je me place sur valeur de la zone de texte à supprimer, et un click
sur un bouton
déclenche le code.

A+

Salutations



Tu pourrais utiliser l'évenement "DblClick" (DoubleClick) de ta zone de
texte pour effacer le contenu.
Jacques
Le #21288411
On 28 fév, 17:09, Michel__D wrote:
Bonjour,

Jacques a écrit :





> On 27 fév, 19:23, Michel__D > wrote:

>> Re,

>> Jacques a crit :

>>> On 27 f v, 12:01, Michel__D >>> wrote:

>>>> Bonjour,

>>>> Jacques a crit :

>>>>> On 26 f v, 23:00, Michel__D >>>>> wrote:

>>>>>> Bonsoir,

>>>>>> Jacques a crit :

>>>>>>> Bonjour,

>>>>>>> Avec
>>>>>>> LeNom = Screen.PreviousControl.Name
>>>>>>> J obtiens le nom de mon contr le.

>>>>>>> Avec
>>>>>>> lavaleur = Screen.PreviousControl
>>>>>>> J obtient la valeur contenu dans le contr le

>>>>>>> Comment conna tre le nom du champ qui alimente le contr le qui a le
>>>>>>> focus ?

>>>>>>> Merci pour votre aide.

>>>>>>> Salutations

>>>>>> MsgBox Me(Screen.PreviousControl.Name).ControlSource

>>>>>> PS: Mais il serait plus prudent de tester le type de contr le avan t.- Masquer le texte des messages pr c dents -

>>>>>> - Afficher le texte des messages pr c dents -

>>>>> Bonjour Michel_D

>>>>> Merci pour ta r ponse.

>>>>> Je suis sur ma zone de texte qui a le focus, je connais maintemant le
>>>>> nom du champ
>>>>> et le nom de la zone de texte.

>>>>> comment faire pour supprimer la valeur quelle contient ?

>>>>> Salutations

>>>> J'ai pas test , mais Me(Screen.PreviousControl.Name).Value = "" ne
>>>> donnerait-il pas le r sultat voulu ?- Masquer le texte des messages pr c dents -

>>>> - Afficher le texte des messages pr c dents -

>>> Re bonjour Micel_D

>>> Voila ce que j'ai fait, est-ce que l'on peux simplifier le code ?

>>> '--- D finie le non du contr le actif
>>>      CtrlValeur = Screen.PreviousControl

>>> '--- Boucle sur les contr le du formulaire
>>>      For Each Ctrl In Forms![frm saisie].Controls

>>>         'On v rifie que le ctrl soit bien une zone de texte
>>>          If TypeOf Ctrl Is TextBox Then

>>>             'On v rifie que le ctrl n'est pas vide
>>>              If LTrim(Nz(CtrlValeur, "")) = "" Then
>>>                   MsgBox "Aucune r servation suppri mer"
>>>                 Exit For
>>>              End If

>>>              'Si ctrl n'est pas vide
>>>              If LTrim(Ctrl) = CtrlValeur Then
>>>                 rep = MsgBox("Souhaitez-vous suppri mer la
>>> r servation:" _
>>>                             & vbCrLf & vb CrLf & "
>>> " & CtrlValeur, vbYesNo)
>>>                   If (rep = vbYes) Then
>>>                      Ctrl.Value = ""
>>>                      Ctrl.SetFocus
>>>                      Exit For
>>>                   Else
>>>                      Me.Undo
>>>                      Ctrl.SetFocus
>>>                      Exit For
>>>                   End If
>>>              End If
>>>         End If
>>>     Next

>>> A+

>>> Salutations

>> Heu, ce code est ex cut quand ? comment ? et pourquoi faire ?- Masquer le texte des messages précédents -

>> - Afficher le texte des messages précédents -

> Bonjour Michel_D

> Toutes mes excuses pour mon manque d'informations.

> J'ai un Formulaire frm A et un sous formulaires sfm B,
> lorsque j'ouvre le frm et que je clique sur le selecteur
> d'enregistrement du sfm B
> j'ouvre un autre formulaire frm C qui affiche l'enregistrement.
> Je me place sur valeur de la zone de texte à supprimer, et un click
> sur un bouton
> déclenche le code.

> A+

> Salutations

Tu pourrais utiliser l'évenement "DblClick" (DoubleClick) de ta zone de
texte pour effacer le contenu.- Masquer le texte des messages précéde nts -

- Afficher le texte des messages précédents -



Re Bonjour,

Merci c'est noté.

Salutations
Publicité
Poster une réponse
Anonyme