|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Bonjour à vous,
je suis une novice en programmation. J'ai monté une base de donnée en apprenant jusqu'à maintenant par moi-même. J'ai réussie à faire mes liens, mes formulaires, mes requêtes et etc.. J'ai cependant un problème qui je crois doit être règler en programmation. Je dois faire en sorte d'avoir un bouton qui lorsque je cliquerai donnera accès pour modifier mes champs contenu dans mon formulaire. J'ai tenter votre approche avec AllowEdit mais cela ne fonctionne pas j'ai toujours un message d'erreur. J'ai avant tout utiliser la méthode décrite ici, en verrouillant le formulaire dans les propriété. Donc, je ne peux plus modifier les cases sauf si je retourne dire oui. Je vous joints une image de mon formulaire que je veux absolument protéger contre les erreurs de modifications sans le vouloir. Pourriez-vous m'aider, s'il-vous-plaît, cela serait très apprécier. Merci à l'avance, Si vous avez besoin d'autres informations n'hésitez surtout pas. |
|
|
00
|
|
|
#2 | ||||
|
Membre éprouvé
![]() Robert LINCEConseiller psycho-pédagogique Inscription : octobre 2007 Messages : 279 ![]() |
Bonjour.
Voici comment je procède pour arriver au résultat que tu souhaites : 1. Dans les propriétés du formulaire, tu ne verrouilles pas. 2. Tu mets ce code sur ouverture du formulaire: Code :
Code :
|
||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Bonjour RobiPMS, le code ne fonctionne pas cela me fait une erreur.
Pour cette phrase : If Forms![MonForm].Form.AllowEdits = False Then J'ai changer [MonForm] pour mon nom de formulaire qui s'apelle PIC-2011REFAITE et rien à y faire cela me fait toujours une erreur. Pouvez-vous m'aider ? ou quelqu'un d'autres si possible pour aujourd'hui. Merci à l'avance, Beautygurlqc |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 798 ![]() |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Le message d'erreur lorsque je clique sur mon bouton est le suivant :
Erreur d'exécution '2450' Impossible de trouver le formulaire 'Form_PIC2011' auquel il fait référence dans une expression de macro ou un code Visual Basic. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Marc_27, désolé j'ai finalement réussie
J'avais oublier de changer toute les noms de formulaires Voilà ça fonctionne maintenant. Le seul problème que je viens de voir, c'est que j'avais mis plusieurs formulaires mais en onglets et pour ceux-ci le bouton modifier ne fonctionne pas. Avez-vous une idée pourquoi cela ? Est-ce que je devrai faire un bouton pour chacun des formulaires ? Merci, Beautygurlqc |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 798 ![]() |
Tu veux dire que t'as des sous-formuleires dans les onglets, c'est ça?
Si c'est le cas, pour trouver le sous-formulaires, tu peux assayer avec cette syntaxe: Code :
Forms![Formulaire].Form![Sous-formulaire]!ChampA2 |
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Bonjour Marc_27, cela ne fonctionne pas malheureusement.
Voici mon code que j'ai mis... Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 798 ![]() |
Il y a un erreur? Rien ce passe?
Essaye avec ce code: Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Cela ne fonctionne toujours pas
Il y a une erreur qui me ramène toujours à modifier mon code. |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Cela me fait toujours une erreur # 2465 qu'il ne peut pas trouvé le champs (mon sous-formulaire) pourtant je l'ai écris de la même façon qu'il est nommé.
|
|
|
00
|
|
|
#12 |
|
Membre éprouvé
![]() Robert LINCEConseiller psycho-pédagogique Inscription : octobre 2007 Messages : 279 ![]() |
Bonjour.
Je viens de voir l'échange de messages. Dans le cas où il y a des sous-formulaires, la syntaxe est la suivante: Code :
Forms![PIC2011]![Doc remis].Form.AllowEdits = False Je viens d'essayer avec un formulaire comportant 5 sous-formulaires et ça marche sans problème. Cordialement. |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Bonsoir RobiPMS,
voilà ce que j'ai insérer. Ce que j'ai décider c'est de faire des boutons à cliquer pour chacun des sous-formulaires ce qui empêchera les gens de modifiers mon formulaire principal. Donc pour celui des propriétaires j'ai insérer : Private Sub Modifier_Click() If Forms![F_Propriétaires].Form.AllowEdits = False Then Forms![F_Propriétaires]![SF_Propriétaires].Form.AllowEdits = False Forms![F_Propriétaires]![SF_Livres minutes].Form.AllowEdits = False Me.AllowEdits = True Modifier.ForeColor = RGB(0, 200, 0) 'le texte du bouton est en vert Else Me.AllowEdits = False Modifier.ForeColor = RGB(255, 0, 0) 'Le texte du bouton est en rouge End If DoCmd.RunCommand acCmdRefresh End Sub Ce formulaire apparait lorsque je clique sur un bouton et j'ai mis le code pour ne pas modifier les champs à l'ouverture. Dans ce formulaire là il y a deux sous formulaires SF_Proproétaires et SF_Livres minutes Avec le code cela m'a fait une erreur # 2465 encore une fois. Merci de m'aider ! |
|
|
00
|
|
|
#14 | |||
|
Membre éprouvé
![]() Robert LINCEConseiller psycho-pédagogique Inscription : octobre 2007 Messages : 279 ![]() |
Si tu veux un bouton dans chaque sous-formulaire, tu dois le créer dans le sous-formulaire lui-même, c'est-à-dire que ce bouton appartient au sous-formulaire. Donc, le code doit être (j'ai testé) :
Donc, tu ouvres ton sous-formulaire directement en mode création (pas à partir du formulaire principal, ce serait plus compliqué à réaliser), tu mets ce code derrière ton bouton, en mettant éventuellement une condition. Ce qui devrait donner quelque chose comme ceci : Code :
Ce sont tes deux lignes ci-dessous, dans le sous-formulaire, qui provoquent l'erreur: Citation:
Courage! tu y arriveras! |
|||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Si j'ajoute chacun des sous formulaires dans la commande de mon bouton quelles lignes dois-je écrire pour chacun des sous-formulaires ?
Je crois que l'erreur vien de là... Voici pour le formulaire simple : Private Sub Modifier_Click() If Forms![PIC2011].Form.AllowEdits = False Then Me.AllowEdits = True Modifier.ForeColor = RGB(0, 200, 0) 'le texte du bouton est en vert Else Me.AllowEdits = False Modifier.ForeColor = RGB(255, 0, 0) 'Le texte du bouton est en rouge End If DoCmd.RunCommand acCmdRefresh End sub Cette partie fonctionne à merveille. Ensuite, tu m'as inscrit de remplir ceci pour les formulaires. À quel endroit dois je le mettre ? et Forms![PIC2011]![Doc remis].Form.AllowEdits = False ET dois-je mettre ceci pour chacun des sous formulaire ? If Forms![PIC2011].Form.AllowEdits = False Then Me.AllowEdits = True ??? Dans mon formulaire principal nommée PIC-2011 j'ai les sous-formulaires suivants : SF_CSST SF_Propriétaires SF_Doc reçus SF_Doc remis SF_Période de taxes SF_Notes SF_FM En cliquant sur des boutons j'ai accès au sous-formulaires suivants par des formulaires que j'ai créer : F_Propriétaires : SF_Propriétaires SF_Livres minutes F_Procu: SF_Procu F_Comptes : SF_Comptes Merci à l'avance, Beautygurlqc |
|
|
00
|
|
|
#16 | ||||
|
Membre éprouvé
![]() Robert LINCEConseiller psycho-pédagogique Inscription : octobre 2007 Messages : 279 ![]() |
Si j'ai bien compris la structure de ton application, tu as un formulaire PIC-2011 qui contient des sous-formulaires
SF_CSST SF_Propriétaires SF_Doc reçus SF_Doc remis SF_Période de taxes SF_Notes SF_FM Tu as un autre formulaire F_Propriétaires qui comprend deux sous formulaires SF_Propriétaires SF_Livres minutes Un autre formulaire F_Procu qui contient le sous-formulaire SF_Procu Un autre encore F_Comptes qui contient SF_Comptes. Sache que si tu mets un bouton de déverrouillage que tu appelles Modifier dans chaque sous-formulaire, le code sera identique dans chacun : Code :
Si tu veux ajouter, dans le sous-formulaire, une condition supplémentaire relative à l'état du formulaire principal, tu devras la rédiger comme ceci : Code :
Comme tu ne semble pas encore très à l'aise avec ce genre de choses, je crois que tu ferais mieux d'essayer la solution du code identique, déclenché par un clic sur le bouton modifier que tu mettras dans chacun des formulaires ou sous formulaires. |
||||
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Merci RobiPMS,
le problème c'est que j ai pas envie de créer un bouton pour chaque sous-formulaire sinon j'aurai trop de bouton modifier à cliquer pour entrer les informations... |
|
|
00
|
|
|
#18 | ||||
|
Membre éprouvé
![]() Robert LINCEConseiller psycho-pédagogique Inscription : octobre 2007 Messages : 279 ![]() |
Sur le Form_Open de chaque formulaire contenant des sous-formulaires, tu dois mettre une instruction pour que tout soit en mode verrouillé :
Code :
Ensuite, tu mets sous ton bouton Modifier les instructions nécessaires pour permettre l’encodage en cliquant sur le bouton : Code :
Cette fois, j’espère que ça correspond à ce que tu veux faire ! |
||||
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
Bonjour j'ai tenter de le faire mais cela me fait toujours une erreur à cet endroit du code :
Forms![NomduFormPrincipal]![Nom_du_sous_formulaire1].Form.AllowEdits = True qui me dis qu'il ne trouve pas le formulaire spécifié. Je ne sais plus trop quoi faire pour que ça soit correct... |
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Comptable Inscription : mars 2011 Messages : 14 ![]() |
c'est comme si il ne trouve pas mon sous-formulaire pourtant il existe bien...
Est-ce que sa pourrait faire sa si j'ai changé les noms des formulaires après avoir tout fait les liens dans les onglets ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com