Champs bloqués

Le
Vincent BD
Bonjour,
Dans un sous-formulaire (Access 2003) en affichage mode continu, je souhaite
bloquer certains champs lorsqu'une condition est réunie. Alors que cela
fonctionne très bien dans un autre formulaire (pas sous-formulaire) lui aussi
en mode continu.
J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée par cet
objet".
Où est l'erreur ?

Private Sub Form_Current()
If (Not IsNull([CodeCR])) Then
If [CodeCR] = "775" Or [CodeCR] = "776" Then
Me!AnMois.Locked = True
Me!Code.Locked = True
Me!Rem.Locked = True
Me!Montant.Locked = True
Else
Me!AnMois.Locked = False
Me!Code.Locked = False
Me!Rem.Locked = False
Me!Montant.Locked = False
End If
End If
End Sub
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 chambrillon
Le #17766441
Bonjour
Si tes champs sont dans le sous formulaire remplace
Me!AnMois.Locked = True
par
Me![nom du sous form.form!AnMois.Locked = True
etc
@plus
Michel

"Vincent BD" de news:
Bonjour,
Dans un sous-formulaire (Access 2003) en affichage mode continu, je
souhaite
bloquer certains champs lorsqu'une condition est réunie. Alors que cela
fonctionne très bien dans un autre formulaire (pas sous-formulaire) lui
aussi
en mode continu.
J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée par
cet
objet".
Où est l'erreur ?

Private Sub Form_Current()
If (Not IsNull([CodeCR])) Then
If [CodeCR] = "775" Or [CodeCR] = "776" Then
Me!AnMois.Locked = True
Me!Code.Locked = True
Me!Rem.Locked = True
Me!Montant.Locked = True
Else
Me!AnMois.Locked = False
Me!Code.Locked = False
Me!Rem.Locked = False
Me!Montant.Locked = False
End If
End If
End Sub


Vincent BD
Le #17772121
Désolé Michel, j'ai un message d'erreur "Impossible de trouver le champ
[Frais02]"
Quid ?

"michel chambrillon" a écrit :

Bonjour
Si tes champs sont dans le sous formulaire remplace
Me!AnMois.Locked = True
par
Me![nom du sous form.form!AnMois.Locked = True
etc
@plus
Michel

"Vincent BD" de news:
> Bonjour,
> Dans un sous-formulaire (Access 2003) en affichage mode continu, je
> souhaite
> bloquer certains champs lorsqu'une condition est réunie. Alors que cela
> fonctionne très bien dans un autre formulaire (pas sous-formulaire) lui
> aussi
> en mode continu.
> J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée par
> cet
> objet".
> Où est l'erreur ?
>
> Private Sub Form_Current()
> If (Not IsNull([CodeCR])) Then
> If [CodeCR] = "775" Or [CodeCR] = "776" Then
> Me!AnMois.Locked = True
> Me!Code.Locked = True
> Me!Rem.Locked = True
> Me!Montant.Locked = True
> Else
> Me!AnMois.Locked = False
> Me!Code.Locked = False
> Me!Rem.Locked = False
> Me!Montant.Locked = False
> End If
> End If
> End Sub



michel chambrillon
Le #17772241
Desolé aussi car il manque un crochet fermant dans ma syntaxe
remplace par
Me![nom du sous form].form!AnMois.Locked = True
Mais je ne vois null part dans code de champ frais02
Precise la position de chacun des champ codecr anMois code Rem est ce sous
form ou form
@plus
Michel


"Vincent BD" de news:
Désolé Michel, j'ai un message d'erreur "Impossible de trouver le champ
[Frais02]"
Quid ?

"michel chambrillon" a écrit :

Bonjour
Si tes champs sont dans le sous formulaire remplace
Me!AnMois.Locked = True
par
Me![nom du sous form.form!AnMois.Locked = True
etc
@plus
Michel

"Vincent BD" message
de news:
> Bonjour,
> Dans un sous-formulaire (Access 2003) en affichage mode continu, je
> souhaite
> bloquer certains champs lorsqu'une condition est réunie. Alors que cela
> fonctionne très bien dans un autre formulaire (pas sous-formulaire) lui
> aussi
> en mode continu.
> J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée
> par
> cet
> objet".
> Où est l'erreur ?
>
> Private Sub Form_Current()
> If (Not IsNull([CodeCR])) Then
> If [CodeCR] = "775" Or [CodeCR] = "776" Then
> Me!AnMois.Locked = True
> Me!Code.Locked = True
> Me!Rem.Locked = True
> Me!Montant.Locked = True
> Else
> Me!AnMois.Locked = False
> Me!Code.Locked = False
> Me!Rem.Locked = False
> Me!Montant.Locked = False
> End If
> End If
> End Sub





Vincent BD
Le #17772541
Ok
Le formulaire principal est "Frais01", le sous-formulaire "Frais02".

Cela donne ceci :
Private Sub Form_Current()
If (Eval("[Forms]![Frais01]![Frais02].[Form]![CodeCR] Is Not Null")) Then
If (Forms!Frais01!Frais02.Form!CodeCR = "776" Or
Forms!Frais01!Frais02.Form!CodeCR = "775") Then
Me![Frais02].Form!AnMois.Locked = True
Me![Frais02].Form!Code.Locked = True
Me![Frais02].Form!Rem.Locked = True
Me![Frais02].Form!Montant.Locked = True
Else
Me![Frais02].Form!AnMois.Locked = False
Me![Frais02].Form!Code.Locked = False
Me![Frais02].Form!Rem.Locked = False
Me![Frais02].Form!Montant.Locked = False
End If
End If
End Sub
Avec la même erreur.

Le code doit-il être dans le formulaire ou le sous-formulaire ?

D'avance merci.

"michel chambrillon" a écrit :

Desolé aussi car il manque un crochet fermant dans ma syntaxe
remplace par
Me![nom du sous form].form!AnMois.Locked = True
Mais je ne vois null part dans code de champ frais02
Precise la position de chacun des champ codecr anMois code Rem est ce sous
form ou form
@plus
Michel


"Vincent BD" de news:
> Désolé Michel, j'ai un message d'erreur "Impossible de trouver le champ
> [Frais02]"
> Quid ?
>
> "michel chambrillon" a écrit :
>
>> Bonjour
>> Si tes champs sont dans le sous formulaire remplace
>> Me!AnMois.Locked = True
>> par
>> Me![nom du sous form.form!AnMois.Locked = True
>> etc
>> @plus
>> Michel
>>
>> "Vincent BD" >> message
>> de news:
>> > Bonjour,
>> > Dans un sous-formulaire (Access 2003) en affichage mode continu, je
>> > souhaite
>> > bloquer certains champs lorsqu'une condition est réunie. Alors que cela
>> > fonctionne très bien dans un autre formulaire (pas sous-formulaire) lui
>> > aussi
>> > en mode continu.
>> > J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée
>> > par
>> > cet
>> > objet".
>> > Où est l'erreur ?
>> >
>> > Private Sub Form_Current()
>> > If (Not IsNull([CodeCR])) Then
>> > If [CodeCR] = "775" Or [CodeCR] = "776" Then
>> > Me!AnMois.Locked = True
>> > Me!Code.Locked = True
>> > Me!Rem.Locked = True
>> > Me!Montant.Locked = True
>> > Else
>> > Me!AnMois.Locked = False
>> > Me!Code.Locked = False
>> > Me!Rem.Locked = False
>> > Me!Montant.Locked = False
>> > End If
>> > End If
>> > End Sub
>>



michel chambrillon
Le #17773471
RE Bonjour
Tous les champs sont donc dans le sous form y compris codeCr il faut donc
verouille ou non les champs lors du deplacement dans les enr du sous form et
non du form. le code devient alors ceci
Private Sub Form_Current()
If Not IsNull(Me![codecr]) Then
If Me!codecr = "776" Or Me!codecr = "775" Then
Me!anmois.Locked = True
Me!code.Locked = True
Me!rem.Locked = True
Me!montant.Locked = True
Else
Me!anmois.Locked = False
Me!code.Locked = False
Me!rem.Locked = False
Me!montant.Locked = False
End If
End If
End Sub
MAIS ATTENTION ceci est a associe a l'evenement sur Activation
(form_current) du SOUS FORM
@ Plus
Michel
"Vincent BD" de news:
Ok
Le formulaire principal est "Frais01", le sous-formulaire "Frais02".

Cela donne ceci :
Private Sub Form_Current()
If (Eval("[Forms]![Frais01]![Frais02].[Form]![CodeCR] Is Not Null")) Then
If (Forms!Frais01!Frais02.Form!CodeCR = "776" Or
Forms!Frais01!Frais02.Form!CodeCR = "775") Then
Me![Frais02].Form!AnMois.Locked = True
Me![Frais02].Form!Code.Locked = True
Me![Frais02].Form!Rem.Locked = True
Me![Frais02].Form!Montant.Locked = True
Else
Me![Frais02].Form!AnMois.Locked = False
Me![Frais02].Form!Code.Locked = False
Me![Frais02].Form!Rem.Locked = False
Me![Frais02].Form!Montant.Locked = False
End If
End If
End Sub
Avec la même erreur.

Le code doit-il être dans le formulaire ou le sous-formulaire ?

D'avance merci.

"michel chambrillon" a écrit :

Desolé aussi car il manque un crochet fermant dans ma syntaxe
remplace par
Me![nom du sous form].form!AnMois.Locked = True
Mais je ne vois null part dans code de champ frais02
Precise la position de chacun des champ codecr anMois code Rem est ce
sous
form ou form
@plus
Michel


"Vincent BD" message
de news:
> Désolé Michel, j'ai un message d'erreur "Impossible de trouver le champ
> [Frais02]"
> Quid ?
>
> "michel chambrillon" a écrit :
>
>> Bonjour
>> Si tes champs sont dans le sous formulaire remplace
>> Me!AnMois.Locked = True
>> par
>> Me![nom du sous form.form!AnMois.Locked = True
>> etc
>> @plus
>> Michel
>>
>> "Vincent BD" >> message
>> de news:
>> > Bonjour,
>> > Dans un sous-formulaire (Access 2003) en affichage mode continu, je
>> > souhaite
>> > bloquer certains champs lorsqu'une condition est réunie. Alors que
>> > cela
>> > fonctionne très bien dans un autre formulaire (pas sous-formulaire)
>> > lui
>> > aussi
>> > en mode continu.
>> > J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée
>> > par
>> > cet
>> > objet".
>> > Où est l'erreur ?
>> >
>> > Private Sub Form_Current()
>> > If (Not IsNull([CodeCR])) Then
>> > If [CodeCR] = "775" Or [CodeCR] = "776" Then
>> > Me!AnMois.Locked = True
>> > Me!Code.Locked = True
>> > Me!Rem.Locked = True
>> > Me!Montant.Locked = True
>> > Else
>> > Me!AnMois.Locked = False
>> > Me!Code.Locked = False
>> > Me!Rem.Locked = False
>> > Me!Montant.Locked = False
>> > End If
>> > End If
>> > End Sub
>>





michel chambrillon
Le #17774911
Houps !
Correction sur le test
Avec la version precedente si on est sur un code 775 ou 776 juste avant la
saisie d'un nouvel enr les champs restent bloques
Nouvelle version
Private Sub Form_Current()

If Not (IsNull(Me![codecr])) And (Me!codecr = "776" Or Me!codecr = "775")
Then
Me!anmois.Locked = True
Me!code.Locked = True
Me!rem.Locked = True
Me!montant.Locked = True
Else
Me!anmois.Locked = False
Me!code.Locked = False
Me!rem.Locked = False
Me!montant.Locked = False

End If
End Sub
@plus
Michel
"Vincent BD" de news:
Ok
Le formulaire principal est "Frais01", le sous-formulaire "Frais02".

Cela donne ceci :
Private Sub Form_Current()
If (Eval("[Forms]![Frais01]![Frais02].[Form]![CodeCR] Is Not Null")) Then
If (Forms!Frais01!Frais02.Form!CodeCR = "776" Or
Forms!Frais01!Frais02.Form!CodeCR = "775") Then
Me![Frais02].Form!AnMois.Locked = True
Me![Frais02].Form!Code.Locked = True
Me![Frais02].Form!Rem.Locked = True
Me![Frais02].Form!Montant.Locked = True
Else
Me![Frais02].Form!AnMois.Locked = False
Me![Frais02].Form!Code.Locked = False
Me![Frais02].Form!Rem.Locked = False
Me![Frais02].Form!Montant.Locked = False
End If
End If
End Sub
Avec la même erreur.

Le code doit-il être dans le formulaire ou le sous-formulaire ?

D'avance merci.

"michel chambrillon" a écrit :

Desolé aussi car il manque un crochet fermant dans ma syntaxe
remplace par
Me![nom du sous form].form!AnMois.Locked = True
Mais je ne vois null part dans code de champ frais02
Precise la position de chacun des champ codecr anMois code Rem est ce
sous
form ou form
@plus
Michel


"Vincent BD" message
de news:
> Désolé Michel, j'ai un message d'erreur "Impossible de trouver le champ
> [Frais02]"
> Quid ?
>
> "michel chambrillon" a écrit :
>
>> Bonjour
>> Si tes champs sont dans le sous formulaire remplace
>> Me!AnMois.Locked = True
>> par
>> Me![nom du sous form.form!AnMois.Locked = True
>> etc
>> @plus
>> Michel
>>
>> "Vincent BD" >> message
>> de news:
>> > Bonjour,
>> > Dans un sous-formulaire (Access 2003) en affichage mode continu, je
>> > souhaite
>> > bloquer certains champs lorsqu'une condition est réunie. Alors que
>> > cela
>> > fonctionne très bien dans un autre formulaire (pas sous-formulaire)
>> > lui
>> > aussi
>> > en mode continu.
>> > J'ai un message d'erreur, code 438, "Propriété ou méthode non gérée
>> > par
>> > cet
>> > objet".
>> > Où est l'erreur ?
>> >
>> > Private Sub Form_Current()
>> > If (Not IsNull([CodeCR])) Then
>> > If [CodeCR] = "775" Or [CodeCR] = "776" Then
>> > Me!AnMois.Locked = True
>> > Me!Code.Locked = True
>> > Me!Rem.Locked = True
>> > Me!Montant.Locked = True
>> > Else
>> > Me!AnMois.Locked = False
>> > Me!Code.Locked = False
>> > Me!Rem.Locked = False
>> > Me!Montant.Locked = False
>> > End If
>> > End If
>> > End Sub
>>





Publicité
Poster une réponse
Anonyme