OVH Cloud OVH Cloud

Modification ou lecture seule (Suite)

3 réponses
Avatar
PO2B
Bonjour

Merci à Pierre pour cette méthode qui fonctionne très bien, mais j'ai, sur
ce formulaire, 2 champs de recherche (un sur NumCli et un sur NomCli) et je
souhaiterai que ces 2 champs ne soient pas concernés par la lecture
seule...... sinon ils ne servent plus, y'a-t-il moyen de les exclure de ce
"blocage"

Encore Merci

Patrice

======================================================

bonjour

mais si sur un clic tu fais
Me.AllowEdits = True
l'enregistrement bouge pas et tu peux modifier

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"PO2B" <PO2B@PO2B.COM> a écrit dans le message de
news:umEChOMnEHA.3988@TK2MSFTNGP10.phx.gbl...
> Re-Bonjour à Tous,
>
> J'ai fait en sorte que, par défaut, mon formulaire s'affiche en lecture
> seule par sécurité pour les données (j'ai l'ai précisé dans ma macro
> d'ouverture)
> mais je voudrais mettre dans mon menu, une commande qui permette, si
> l'utilisateur le souhaite, de modifier n'importe quel champ,
> passer le formulaire en mode Modification par simple clic..... en restant
> sur le même enregistrement.
>
> Merci d'avance pour votre aide.
>
> Patrice
>
>
>
>

3 réponses

Avatar
Christophe JEAN
Hello

Alors pour cela, j'ai une astuce :
J'écris "Verrouillé" dans la propriété Remarque des contrôles à traiter
(donc ici à verrouiller)
Et cette petite procédure (qui en plus colorie pour mieux voir qui et quand
c'est verrouillé)

Private Sub cmdVerrouillage_Click()

Dim myCtrl As Control

For Each myCtrl In Me.Controls
If myCtrl.Tag = "Verrouiller" Then
myCtrl.BackColor = 16776960
myCtrl.Locked = True
myCtrl.Tag = "Déverrouiller"
ElseIf myCtrl.Tag = "Déverrouiller" Then
myCtrl.BackColor = 13434879
myCtrl.Locked = False
myCtrl.Tag = "Verrouiller"
End If
Next

End Sub

La boucle passe en revue tout le monde, même si on rajoute un nouveau
contrôle, si on lui met le même texte dans la propriété Remarque, la boucle
en tiendra compte.

Attention aux histoires de contrôles dans des sous-formulaires ...

Mais si c'est un formulaire simple, alors aucun problème.

A+

"PO2B" a écrit dans le message de news:
%23iA86$
Bonjour

Merci à Pierre pour cette méthode qui fonctionne très bien, mais j'ai, sur
ce formulaire, 2 champs de recherche (un sur NumCli et un sur NomCli) et
je
souhaiterai que ces 2 champs ne soient pas concernés par la lecture
seule...... sinon ils ne servent plus, y'a-t-il moyen de les exclure de ce
"blocage"

Encore Merci

Patrice

===================================================== >
bonjour

mais si sur un clic tu fais
Me.AllowEdits = True
l'enregistrement bouge pas et tu peux modifier

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"PO2B" a écrit dans le message de
news:
Re-Bonjour à Tous,

J'ai fait en sorte que, par défaut, mon formulaire s'affiche en lecture
seule par sécurité pour les données (j'ai l'ai précisé dans ma macro
d'ouverture)
mais je voudrais mettre dans mon menu, une commande qui permette, si
l'utilisateur le souhaite, de modifier n'importe quel champ,
passer le formulaire en mode Modification par simple clic..... en restant
sur le même enregistrement.

Merci d'avance pour votre aide.

Patrice












Avatar
PO2B
Merci Christophe, c'est une bonne astuce mais j'ai un bug sur la
propriété "BackColor" qui est "non gérée"

Faut-il rajouter une référence VB ?

Merci pour ton aide


"Christophe JEAN" a écrit dans le message de news:
414f3a16$0$284$
Hello

Alors pour cela, j'ai une astuce :
J'écris "Verrouillé" dans la propriété Remarque des contrôles à traiter
(donc ici à verrouiller)
Et cette petite procédure (qui en plus colorie pour mieux voir qui et
quand

c'est verrouillé)

Private Sub cmdVerrouillage_Click()

Dim myCtrl As Control

For Each myCtrl In Me.Controls
If myCtrl.Tag = "Verrouiller" Then
myCtrl.BackColor = 16776960
myCtrl.Locked = True
myCtrl.Tag = "Déverrouiller"
ElseIf myCtrl.Tag = "Déverrouiller" Then
myCtrl.BackColor = 13434879
myCtrl.Locked = False
myCtrl.Tag = "Verrouiller"
End If
Next

End Sub

La boucle passe en revue tout le monde, même si on rajoute un nouveau
contrôle, si on lui met le même texte dans la propriété Remarque, la
boucle

en tiendra compte.

Attention aux histoires de contrôles dans des sous-formulaires ...

Mais si c'est un formulaire simple, alors aucun problème.

A+

"PO2B" a écrit dans le message de news:
%23iA86$
Bonjour

Merci à Pierre pour cette méthode qui fonctionne très bien, mais j'ai,
sur


ce formulaire, 2 champs de recherche (un sur NumCli et un sur NomCli) et
je
souhaiterai que ces 2 champs ne soient pas concernés par la lecture
seule...... sinon ils ne servent plus, y'a-t-il moyen de les exclure de
ce


"blocage"

Encore Merci

Patrice

===================================================== > >
bonjour

mais si sur un clic tu fais
Me.AllowEdits = True
l'enregistrement bouge pas et tu peux modifier

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"PO2B" a écrit dans le message de
news:
Re-Bonjour à Tous,

J'ai fait en sorte que, par défaut, mon formulaire s'affiche en lecture
seule par sécurité pour les données (j'ai l'ai précisé dans ma macro
d'ouverture)
mais je voudrais mettre dans mon menu, une commande qui permette, si
l'utilisateur le souhaite, de modifier n'importe quel champ,
passer le formulaire en mode Modification par simple clic..... en
restant



sur le même enregistrement.

Merci d'avance pour votre aide.

Patrice
















Avatar
Christophe JEAN
Cela viens peut-être d'un contrôle qui ne possède pas cette propriété comme
une case à cocher ou un bouton à option (radio) ou bouton bascule ou une
cochonnerie de ce genre.

Le coloriage n'est pas obligatoire mais c'est le plus du chef. Alors pour
éviter le bug, précède ton instruction myCtrl.BackColor = qc par :

If myCtrl.ControlType <> acCheckBox And myCtrl.ControlType <>
acOptionButton And myCtrl.ControlType <> acToggleButton Then
myCtrl.BackColor = 16776960
End If

Ce sont les 3 contrôles qu'on utilise le plus dans ce contexte. Il y en a
d'autres qui ne possèdent pas cette propriété Backcolor. Le fichier d'aide
apporte de bonnes idées. Sélectionne ControlType et appuye su F1.

A+

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

Merci Christophe, c'est une bonne astuce mais j'ai un bug sur la
propriété "BackColor" qui est "non gérée"

Faut-il rajouter une référence VB ?

Merci pour ton aide


"Christophe JEAN" a écrit dans le message de news:
414f3a16$0$284$
Hello

Alors pour cela, j'ai une astuce :
J'écris "Verrouillé" dans la propriété Remarque des contrôles à traiter
(donc ici à verrouiller)
Et cette petite procédure (qui en plus colorie pour mieux voir qui et
quand

c'est verrouillé)

Private Sub cmdVerrouillage_Click()

Dim myCtrl As Control

For Each myCtrl In Me.Controls
If myCtrl.Tag = "Verrouiller" Then
myCtrl.BackColor = 16776960
myCtrl.Locked = True
myCtrl.Tag = "Déverrouiller"
ElseIf myCtrl.Tag = "Déverrouiller" Then
myCtrl.BackColor = 13434879
myCtrl.Locked = False
myCtrl.Tag = "Verrouiller"
End If
Next

End Sub

La boucle passe en revue tout le monde, même si on rajoute un nouveau
contrôle, si on lui met le même texte dans la propriété Remarque, la
boucle

en tiendra compte.

Attention aux histoires de contrôles dans des sous-formulaires ...

Mais si c'est un formulaire simple, alors aucun problème.

A+

"PO2B" a écrit dans le message de news:
%23iA86$
Bonjour

Merci à Pierre pour cette méthode qui fonctionne très bien, mais j'ai,
sur


ce formulaire, 2 champs de recherche (un sur NumCli et un sur NomCli)
et
je
souhaiterai que ces 2 champs ne soient pas concernés par la lecture
seule...... sinon ils ne servent plus, y'a-t-il moyen de les exclure de
ce


"blocage"

Encore Merci

Patrice

===================================================== >> >
bonjour

mais si sur un clic tu fais
Me.AllowEdits = True
l'enregistrement bouge pas et tu peux modifier

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"PO2B" a écrit dans le message de
news:
Re-Bonjour à Tous,

J'ai fait en sorte que, par défaut, mon formulaire s'affiche en
lecture
seule par sécurité pour les données (j'ai l'ai précisé dans ma macro
d'ouverture)
mais je voudrais mettre dans mon menu, une commande qui permette, si
l'utilisateur le souhaite, de modifier n'importe quel champ,
passer le formulaire en mode Modification par simple clic..... en
restant



sur le même enregistrement.

Merci d'avance pour votre aide.

Patrice