OVH Cloud OVH Cloud

Sélectionner tous les contrôles d'un formulaire...

3 réponses
Avatar
Eric Rjf
Bonjour,

J'ai un petit souci :
J'ai créé un formulaire avec plusieurs types de contrôles
(textbox,listbox,case à cocher, etc...)
Je les ai défini comme "Locked" .
En cliquant sur un bouton, je voudrai passer tous mes contrôles en état
"Unlocked"
(Locked = false) sans les sélectionner un par un (genre : me.textbox1.locked
= false
me.listbos1.locked = false, etc...)
Y a t-il un moyen de sélectionner tous les contrôles d'un formulaire et
ainsi changer
leur état ?
Quelque chose du genre:
For each Control in me.Controls
control.locked = false
ce qui me pose le plus de problèmes c'est le définition de la variable
Control
(dim Control as mscontrols ?????)
*********
Autre souci : comment créer une requête qui n'affiche que le dernier numéro
entré ans un champ Number ?
Par ex : Dernier ou Last ???

Merci de votre aide...
Bonne journée.


Eric

3 réponses

Avatar
Eric Rjf
Re bonjour,
J'ai oublié le point le plus important :
Je veux sélectionner tous les contrôles qui se trouvent dans la section
Détail
de mon formulaire (pas ceux dans entête et pied de page de mon formulaire)
Merci encore de votre aide !
Bonne journée à tous.
Eric

"Eric Rjf" a écrit dans le message de news:

Bonjour,

J'ai un petit souci :
J'ai créé un formulaire avec plusieurs types de contrôles
(textbox,listbox,case à cocher, etc...)
Je les ai défini comme "Locked" .
En cliquant sur un bouton, je voudrai passer tous mes contrôles en état
"Unlocked"
(Locked = false) sans les sélectionner un par un (genre :
me.textbox1.locked

= false
me.listbos1.locked = false, etc...)
Y a t-il un moyen de sélectionner tous les contrôles d'un formulaire et
ainsi changer
leur état ?
Quelque chose du genre:
For each Control in me.Controls
control.locked = false
ce qui me pose le plus de problèmes c'est le définition de la variable
Control
(dim Control as mscontrols ?????)
*********
Autre souci : comment créer une requête qui n'affiche que le dernier
numéro

entré ans un champ Number ?
Par ex : Dernier ou Last ???

Merci de votre aide...
Bonne journée.


Eric




Avatar
Rv
Salut,

Version bourrin :

Dim objControl As Control

' certains controles n'ont pas de propriété Locked (les etiquettes, ...)
d'ou le ON ERROR
On Error Resume Next
For Each objControl In Me.Détail.Controls
objControl.Locked = True
Next
On Error GoTo 0
...

Version moins bourrin :

Dim objControl As Control

For Each objControl In Me.Détail.Controls
' Selon le type de contrôle on locke
If objControl.ControlType = acTextBox OR objControl.ControlType acListBox Or ... Then
objControl.Locked = True
End If
Next


A+

Rv

"Eric Rjf" a écrit dans le message de
news:
Bonjour,

J'ai un petit souci :
J'ai créé un formulaire avec plusieurs types de contrôles
(textbox,listbox,case à cocher, etc...)
Je les ai défini comme "Locked" .
En cliquant sur un bouton, je voudrai passer tous mes contrôles en état
"Unlocked"
(Locked = false) sans les sélectionner un par un (genre :
me.textbox1.locked

= false
me.listbos1.locked = false, etc...)
Y a t-il un moyen de sélectionner tous les contrôles d'un formulaire et
ainsi changer
leur état ?
Quelque chose du genre:
For each Control in me.Controls
control.locked = false
ce qui me pose le plus de problèmes c'est le définition de la variable
Control
(dim Control as mscontrols ?????)
*********
Autre souci : comment créer une requête qui n'affiche que le dernier
numéro

entré ans un champ Number ?
Par ex : Dernier ou Last ???

Merci de votre aide...
Bonne journée.


Eric




Avatar
Eric Rjf
Bonjour RV
et Merci !! ça fonctionne très bien
j'ai juste mis une exclusion sur acLabel et acRectangle qui faisaient
"bugger" ma procédure! comme tu le signalais...
bonne journée.
Eric

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

Salut,

Version bourrin :

Dim objControl As Control

' certains controles n'ont pas de propriété Locked (les etiquettes,
...)

d'ou le ON ERROR
On Error Resume Next
For Each objControl In Me.Détail.Controls
objControl.Locked = True
Next
On Error GoTo 0
...

Version moins bourrin :

Dim objControl As Control

For Each objControl In Me.Détail.Controls
' Selon le type de contrôle on locke
If objControl.ControlType = acTextBox OR objControl.ControlType > acListBox Or ... Then
objControl.Locked = True
End If
Next


A+

Rv

"Eric Rjf" a écrit dans le message de
news:
Bonjour,

J'ai un petit souci :
J'ai créé un formulaire avec plusieurs types de contrôles
(textbox,listbox,case à cocher, etc...)
Je les ai défini comme "Locked" .
En cliquant sur un bouton, je voudrai passer tous mes contrôles en état
"Unlocked"
(Locked = false) sans les sélectionner un par un (genre :
me.textbox1.locked

= false
me.listbos1.locked = false, etc...)
Y a t-il un moyen de sélectionner tous les contrôles d'un formulaire et
ainsi changer
leur état ?
Quelque chose du genre:
For each Control in me.Controls
control.locked = false
ce qui me pose le plus de problèmes c'est le définition de la variable
Control
(dim Control as mscontrols ?????)
*********
Autre souci : comment créer une requête qui n'affiche que le dernier
numéro

entré ans un champ Number ?
Par ex : Dernier ou Last ???

Merci de votre aide...
Bonne journée.


Eric