OVH Cloud OVH Cloud

Champs vérrouillés mais enregistrements supprimables

3 réponses
Avatar
Vincent
Bonjour,

un petit souci de protection d'enregistrement.

J'ai un form 1 compos=E9 de champs dans lequel j'ai ins=E9r=E9=20
un sous-form 2.

J'ai =E9crit un code qui test si un form 3 est ouvert.=20

Si form 3 est ouvert alors certains champs de mon form 1=20
et de mon sous-form 2 sont v=E9rrouill=E9s.

Ca donne ca :

If SysCmd(acSysCmdGetObjectState,=20
acForm, "FormDevisCommande") <> 0 Then
Me![Commande].locked=3Dtrue
Me![Adresse].Locked =3D True
Me![Adresse 2].Locked =3D True
Me![Code Postal].Locked =3D True
Me![Ville].Locked =3D True
Me![Remise].Locked =3D True
Me![Sous-form2].locked=3DTrue
...
Else

End If


Avec ce code les enregistrements du sous-form 2 sont=20
v=E9rrouill=E9es, je ne peux plus les modiifer.=20
Par contre je peux supprimer les enregistrements de mon=20
sous-form 2.

Comment faire pour qu'ils soient non modifiables et=20
non "supprimables"

Merci

3 réponses

Avatar
Raymond
Bonjour.

tu dois pouvoir ajouter ces fonctions, sous réserve de test:
Me.[Sous-form2].Form.AllowDeletions = False
Me.[Sous-form2].Form.AllowEdits = False
il faudra surement rajouter ces lignes:
Me.[Sous-form2].Requery
me.......setfocus
mais tout va dépendre de la relation des tables et de l'intégrité
référencielle, car la suppression existe toujours sur le formulaire
principal.
je te conseille de ne pas utiliser - pour les noms mais _ pour t'éviter les
[] et les sources d'erreurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Vincent" a écrit dans le message de
news:097801c3687f$b16ad610$
Bonjour,

un petit souci de protection d'enregistrement.

J'ai un form 1 composé de champs dans lequel j'ai inséré
un sous-form 2.

J'ai écrit un code qui test si un form 3 est ouvert.

Si form 3 est ouvert alors certains champs de mon form 1
et de mon sous-form 2 sont vérrouillés.

Ca donne ca :

If SysCmd(acSysCmdGetObjectState,
acForm, "FormDevisCommande") <> 0 Then
Me![Commande].locked=true
Me![Adresse].Locked = True
Me![Adresse 2].Locked = True
Me![Code Postal].Locked = True
Me![Ville].Locked = True
Me![Remise].Locked = True
Me![Sous-form2].locked=True
...
Else

End If


Avec ce code les enregistrements du sous-form 2 sont
vérrouillées, je ne peux plus les modiifer.
Par contre je peux supprimer les enregistrements de mon
sous-form 2.

Comment faire pour qu'ils soient non modifiables et
non "supprimables"

Merci
Avatar
Vincent
Bonjour Raymond,

Merci de ta réponse.
Ca fonctionne en ajoutant simplement

Me.[Sous-form2].Form.AllowDeletions = False
Me.[Sous-form2].Form.AllowEdits = False

Merci de ton aide


J'ai une autre question!!
Les certifications Microsoft sont-elles difficiles à
obtenir ?
Commment doit-on procéder ?
Merci


-----Message d'origine-----
Bonjour.

tu dois pouvoir ajouter ces fonctions, sous réserve de
test:

Me.[Sous-form2].Form.AllowDeletions = False
Me.[Sous-form2].Form.AllowEdits = False
il faudra surement rajouter ces lignes:
Me.[Sous-form2].Requery
me.......setfocus
mais tout va dépendre de la relation des tables et de
l'intégrité

référencielle, car la suppression existe toujours sur le
formulaire

principal.
je te conseille de ne pas utiliser - pour les noms mais _
pour t'éviter les

[] et les sources d'erreurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Vincent" a écrit dans le
message de

news:097801c3687f$b16ad610$
Bonjour,

un petit souci de protection d'enregistrement.

J'ai un form 1 composé de champs dans lequel j'ai inséré
un sous-form 2.

J'ai écrit un code qui test si un form 3 est ouvert.

Si form 3 est ouvert alors certains champs de mon form 1
et de mon sous-form 2 sont vérrouillés.

Ca donne ca :

If SysCmd(acSysCmdGetObjectState,
acForm, "FormDevisCommande") <> 0 Then
Me![Commande].locked=true
Me![Adresse].Locked = True
Me![Adresse 2].Locked = True
Me![Code Postal].Locked = True
Me![Ville].Locked = True
Me![Remise].Locked = True
Me![Sous-form2].locked=True
....
Else

End If


Avec ce code les enregistrements du sous-form 2 sont
vérrouillées, je ne peux plus les modiifer.
Par contre je peux supprimer les enregistrements de mon
sous-form 2.

Comment faire pour qu'ils soient non modifiables et
non "supprimables"

Merci

.



Avatar
Raymond
Les certifications Microsoft sont-elles difficiles à
obtenir ?
Commment doit-on procéder ?


Des quelles parles-tu ?

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Vincent" a écrit dans le message de
news:086c01c3688f$5b37c720$
Bonjour Raymond,

Merci de ta réponse.
Ca fonctionne en ajoutant simplement

Me.[Sous-form2].Form.AllowDeletions = False
Me.[Sous-form2].Form.AllowEdits = False

Merci de ton aide


J'ai une autre question!!
Les certifications Microsoft sont-elles difficiles à
obtenir ?
Commment doit-on procéder ?
Merci