[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


actif  Sujet n° 398  Verrouillage de formulaire en mode "fenêtre indépendante"

le 27/08/2010 : 17:21
par ONGXA

Anonyme

visiteur

Bonjour,

J'ai un formulaire principal qui contient 1 sous-formulaire (1) qui ce sous-formulaire (1) contient un sous-formulaire (2) et ce sous-formulaire (2) contient un sous-formulaire (3).

Dans le formulaire principale, j'ai une case à cochée (accessible uniquement par certains utilisateurs en "mode admin")

Lorsque cette case est cochées j'interdit que les utlisateurs "classiques" ne puissent modifier les données dans les 3 sous-formulaires (1), (2) et (3).

pour cela j'utilise dans les sous-formulaires (1), (2), (3) la fonction suivante:

Pour (1):

Private Sub Form_Dirty(Cancel As Integer)
Cancel = Me.Validation_du_cra_semestriel_par_la_hiérarchie
End Sub

Pour(2):

Private Sub Form_Dirty(Cancel As Integer)
    Cancel = Me.Parent.Validation_du_cra_semestriel_par_la_hiérarchie
End Sub

Pour(3):

Private Sub Form_Dirty(Cancel As Integer)
    Cancel = Me.Parent.Parent.Validation_du_cra_semestriel_par_la_hiérarchie
End Sub

Avec "Validation_du_cra_semestriel_par_la_hiérarchie
" étant la case à cochée.

Cela fonctionne 5 sur 5 sauf que les fenêtres sont difficiles à gérer visuellement.

Pour cela j'ai créé les formulaires en mode "fenêtres indépendantes" avec des relations entre formulaires VIA DES BOUTONS pour avoir une aisance de lecture plus grande.

Sauf que les fonctions ci-dessus ne fonctionnent plus.

Il y a t'il une fonction équivalente que je peux utiliser lorsque j'ai des formulaires liés et non plus des sous-formulaires?

Merci d'avance pour votre aide.

Ong Xa

Ecrire à ONGXA   Poster une réponse  Haut

[]   

[]   

DébutPrécédent [ 1 2 ] SuivantFin
Réponse n° 1
--------
le 28/08/2010 : 00:54
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

Pour cela j'ai créé les formulaires en mode "fenêtres indépendantes" avec des relations entre formulaires VIA DES BOUTONS pour avoir une aisance de lecture plus grande.

 
Doit on comprendre que les formulaires sont maintenant séparés (désolidarisés) en formulaires uniques et ne sont plus inclus dans leur formulaire parent ?

Si c'est le cas, il est alors normal que l'expression "Parent" tape... dans le vide.
En effet, Parent fait référence à l'objet "physique" et non à une quelconque relation des sources.

Chaque formulaire peut évidement faire référence directement au formulaire principal, celui qui contient la case à chocher (par Forms!FormPrincipal!LaCase), à condition que ce formulaire soit ouvert.
Si on veut éviter cela, il faut aller chercher la valeur de la case directement dans la table avec un DLookup().

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 2
--------
le 28/08/2010 : 22:00
par ONGXA

Anonyme

visiteur

Oui c'est bien cela, et je confirme que pour ouvrir les 3 autres sous-formulaires le formulaires principales est obligatoirement ouvert avant.

Afin de m'assurer de voir si j'ai bien compris,

Si mon fomulaire principale dans lequel se trouva ma case à cocher s'appelle: "Semaine pour cra personnel 1"
Que ma case à cocher s'appelle: "Validation du cra semestriel par la hiérarchie", est ce que la syntaxe que je dois copier dans chaque formulaire doit bien s'écrire:
---------------------
Private Sub Form_Dirty(Cancel As Integer)
Cancel = Forms!FormSemaine pour cra personnel 1!Validation du cra semestriel par la hiérarchie
End Sub
---------------------

Est-ce qu'elle doit également se copier dans la rubrique [Procédure événementielle] de mes "sous-formualire" comme lorsque j'avais mon formulaire parent?

Merci d'avance pour votre confirmation et votre aide.

Ong Xa

Ecrire à ONGXA   Poster une réponse  Haut
Réponse n° 3
--------
le 28/08/2010 : 22:25
par ONGXA

Anonyme

visiteur

Ok, j'ai trouvé, il fallait écrire:

------------------

Private Sub Form_Dirty(Cancel As Integer)
Cancel = Forms!Semaine_pour_cra_personnel_1!Validation_du_cra_semestriel par_la_hiérarchie
End Sub

------------------

j'ai remarqué que du fait le nom de mon formulaire principale contenait des esapces, cela ne fonctionnait pas si je ne mettais pas des "_" est-ce bien normal?

Faut-il de préférence toujours nomer sans espace?

Merci.

Ecrire à ONGXA   Poster une réponse  Haut
Réponse n° 4
--------
le 28/08/2010 : 22:59
par 3Stone

Anonyme

Administrateur

Bonsoir,

 
Citation :

Faut-il de préférence toujours nomer sans espace?

 
Pas seulement les formulaires, mais tous les objets dans Access!
Les noms d'objets ne sont pas la pour faire de la littérature, mais juste pour les distinguer les uns des autres.

Il est donc conseillé d'utiliser des noms courts, sans espaces et sans caractères barbares ou accentués.

frmClients, rptListeClients, qryFactures se lit parfaitement lors de la conception et évite l'obligation d'entourer ces noms de crochets [...] dans le cas contaire.

Il est même conseiller de se tenir à un méthode de nommage des objets, de façon à permettre une "lecture" plus facile du code après une période plus ou moins longue...

Par ailleurs, il faut s'assurer de ne pas utiliser de nom réservé, comme Microsoft l'indique dans cet article.

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 5
--------
le 28/08/2010 : 23:24
par ONGXA

Anonyme

visiteur

Merci beaucoup pour la confirmation concernant les noms, je me rends compte que cela fait un bail que je fait cette erreur.

Je viens de finaliser les contrôles de mes différents formulaires, cela fonctionne 5/5 sauf que depuis que j'ai créé mes formulaires avec des liaisons et non plus en mode "Parents", je n'arrive plus à ajouter des enregistrements dans mes formulaires liés, j'ai le message d'erreur suivant:

"Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement connexe est requis dans la table Semaine pour cra."

Alors que quand je reprends mon formulaire en mode "parent" (je ne l'ai pas jetté avant d'être certain que cela fonctionne 5/5) je n'ai pas ce problème, j'arrive toujours bien à ajouter des enregistrement...Je pense que j'ai oublié quelque chose?

merci de votre aide.

ONGXA

Ecrire à ONGXA   Poster une réponse  Haut
Réponse n° 6
--------
le 28/08/2010 : 23:50
par 3Stone

Anonyme

Administrateur

Ben oui, l'utilité de la construction formulaire/sous-formulaire est justement ce qu'elle apporte lors de l'encodage et la visualisation, la "liaison" des clés se fait automatiquement. Ce qui n'est plus le cas lorsque les formulaires sont séparés.

Pour la facilité de saisie, il faudrait peut être voir si l'usage de boite à onglet ne permet pas de libérer et d'aérer les formulaires/sous-formulaires.

Il est à noter que la boite à onglet n'intervient aucunement dans la liaison entre formulaire/sous-formulaires et n'est qu'un élément graphique qui permet une meilleure organisation visuelle.

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 7
--------
le 29/08/2010 : 00:05
par ONGXA

Anonyme

visiteur

Mince, tous ce travail pour rien alors....

malheureusement, les boîtes à onglets ne m'apportent pas grand chose...

Si je comprends bien les fomulaires 'liés" ne servent qu'à de la visualisation alors ..si le mode parents permet de créer des nouveaux enregistrements

ONG XA

Ecrire à ONGXA   Poster une réponse  Haut
Réponse n° 8
--------
le 29/08/2010 : 10:56
par ONGXA

Anonyme

visiteur

Si tu as une proposition d'amélioration, je suis preneur, car tu trouveras sur le lien ci-dessus la "tête" que cela fait d'avoir les 3 sous-formulaires.

La partie de droite reste inexploitée, car j'ai encore des utilisateurs avec des écrans anciennes génération et d'autres nouvelle génération (ce qui est mon cas pour te publier l'image)

Voici le lien qui te permet de voir le résultat visuel:

PS: Il n'y a vraiement pas moyens de lier des formulaire en mode de représentation "Fenêtre indépendante"...je suis supris là, car la puissance d'access me séduit tellement que pour moi c'était une évidence...

Merci d'avance pour tes propositions.

ONG XA

Ecrire à ONGXA   Poster une réponse  Haut
DébutPrécédent [ 1 2 ] SuivantFin
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut