Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/11/2010, 14h38   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Par défaut Interdire la saisie des champs

Bonjour à tous

Est-ce que quelqu'un peut m'aider ?

J'ai créé une base de données Client avec tout une série d'information les concernant
En haut de chaque dossier, j'ai insérer deux case à cocher "dossier en cours" et "dossier clôturé"

J'aimerai en fait interdire la modification de tous les champs du formulaire quand la case "dossier clôturé" est cochée

Est-ce possible ?

Merci à tous

Joss
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h25   #2
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
bonjour

une piste à explorer
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim frm as form
dim ctl as control
If frm(caseàcocher”)=”dossier cloture” then
 
For Each ctl in frm.Controls
        With ctl
            Select Case .ControlType
            Case acTextBox
                  .Enabled = True     
           End Select
        End With
Next ctl 
 
end if
cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2010, 19h33   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Merci a toi pour ce petit code

Mais peux tu me préciser ou je doit le mettre pour ne pas faire de bug, je suis novice en vb alors...

C'est dans "propriétés" après maj du formulaire concerné c'est ça ?

Merci à toi

Cordialement

Joss
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 07h58   #4
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
salut
en principe Oui dans propriete afterupdate
de meme si tu selectionne ton enregistrement dans une liste deroulante ou autre
cordialement
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 08h08   #5
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
bien sur faut adapter le code
Code :
 Set Frm = Forms("NomDetonformulaire")
ou bien utiliser cordialement
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/12/2010, 09h29   #6
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Ok,

Merci pour vos précisions,

Je test ça et vous tiens au courant

merci à vous

Joss
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 14h12   #7
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Re, voilà j'ai essayé le petit code comme on a dit, en l'adaptant bien sur avec le nom de mon formulaire et le nom de la case à cocher (qui correspond à "dossier clôturé"). J'ai donc inséré ce code dans les propriétés afterupdate du formulaire concerné

Je dois faire une erreur quelque part parce que non seulement, une fois la case cochée, le formulaire est toujours modifiable et j'ai un débocage à la fermeture de l'appli...

Vous serait-il possible de me réécrire le code avec mes infos, ça sera peut-être plus simple...
Le nom de mon formulaire : F1_IDENTITE_DOSSIER
La Case à cocher : Cocher911

Merci de votre aide
Bien cordialement

Joss
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 14h56   #8
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
salut
le code devrait fonctionner sur un enregistrement ou la case est deja cochée
sinon essaies de mettre le code sur after update de la case à cocher à voir
cordialement
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/12/2010, 15h06   #9
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
poste ton code pour voir comment tu selectionne ton enregistrement
et as tu essayé la methode
Code :
1
2
3
4
 
        With frm
            .AllowEdits = False
        End With
qui pourrait fonctionner avec des reserves
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 10h35   #10
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Je m'en sors pas les gars...
Pouvez-vous me dire si mon code est bien écrit svp
J'ai un débogage sur la 4e ligne...

Merci à vous

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_AfterUpdate()
Dim F1_IDENTITE_DOSSIER As Form
Dim ctl As Control
If F1_IDENTITE_DOSSIER(Cocher911) = True Then
 
For Each ctl In F1_IDENTITE_DOSSIER.Controls
        With ctl
            Select Case .ControlType
            Case acTextBox
                  .Enabled = True
           End Select
        End With
Next ctl
End If
 
End Sub
J'ai joint une image du fichier, ça sera peut-être plus clair...
Merci à vous

Joss
Images attachées
Type de fichier : jpg Code.JPG (140,7 Ko, 4 affichages)
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 10h49   #11
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re

cocher911 se met entre ""
Code :
1
2
 
Forms("F1_IDENTITE_DOSSIER")("cocher911")
essaie deja avec ca
cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/12/2010, 10h49   #12
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Je vous transmets aussi pour que vous compreniez bien ce que je veux faire un visuel de mon formulaire avec des sous-formulaires intégrés dans une zone d'onglets.

J'ai essayé avec les " " et toujours le même problème

Merci tout de même de ta réponse et merci pour l'aide.

Cordialement,

Joss
Fichiers attachés
Type de fichier : doc Explication.doc (240,0 Ko, 2 affichages)
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 11h00   #13
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
avec ce code
Code :
1
2
 
if Forms("F1_IDENTITE_DOSSIER")("cocher911")=true then
si ta case est cochée ca devrait passer au debogage a la ligne suivante
cordialement
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/12/2010, 11h04   #14
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
ok j'essaie ça

merci

Joss
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 11h11   #15
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Pas de changement... regarde
Images attachées
Type de fichier : jpg Code.JPG (20,7 Ko, 3 affichages)
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 11h11   #16
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
je viens juste de telecharger ton document word, par defaut d'explications nous sommes mal partis
nous ne sommes plus dans la meme problematique
parceque dans ton formulaire il semble y avoir des pages contenant des sous formulaires etc.
il faut savoir ce que tu veux desactiver comme elements.
et ils sont situés ou dans ton formulaire(pages sous form ...etc???)
a ce moment la le code devrait etre adapté

decortique un peu mieux ton probleme
la je suis un peu perdu désolé!

si tu veux tout bloqué sur le formulaire mais ca te posera des soucis
ce code peut servir ?!
Code :
1
2
3
       With frm
            .AllowEdits = False
        End With
bien cordialement
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/12/2010, 11h15   #17
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
j'ai un souci avec mon ordi desolé

tu n'a pas besoin de declarer
Code :
dim F1_IDENTITE_FROM as form
efface cette ligne

essai de mettre le code sur cocher911 after update
si cette case n'est pas deja cochée
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 11h43   #18
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
j'ai fait un formulaire avec plein de boutons
des textes box etc et une case à cocher
en mode formulaire sur evenement sur click d'un bouton de commande
j'ai mis le code suivant
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim ctl As Control
 
If Forms("F1_IDENTITE_DOSSIER")("cocher911") = True Then
 
For Each ctl In Me.Controls
        With ctl
            Select Case .ControlType
            Case acTextBox
                  .Enabled = False
           End Select
        End With
Next ctl
 
End If
si la case est cochée à la volée il me desactive les texte box de mon formulaire
cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/12/2010, 11h49   #19
Invité de passage
 
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 3
Points : 3
Effectivement, je suis désolé, je pense que je n'ai pas été très clair dans mes explications au départ, excuse moi, je m'explique :

Dans mon formulaire principal (F1_IDENTITE_DOSSIER) j'ai inséré une zone d'onglets, dans deux des onglets, j'ai inséré deux sous formulaires (T_ELEMENTS_DIAGNOSTIC Sous-formulaire et T_TEMPS_DOSSIER Sous formulaire) et dans les 3 autres onglets, j'ai s'implement glisser les champs de la table principale rattachés au formulaire principal (F1_IDENTITE_DOSSIER)

La case à cocher concernée qui doit interdire la saisie de tous les champs fait partie de cette table...

Mais bon, si tu me dit que ça risque d'être compliqué, peut-être qu'il faudrait que j'interdise seulement la modification de certains champs quand la case à cocher (cloturé) est active

Mon objectif dans cette démarche et d'obliger les salariés à décocher la case "cloturé" pour pouvoir modifier le dossier... mais effectivement, il n'y a que certains champs susceptibles d'être modifiés

Voilà, j'espère que c'est plus clair pour toi

A ce moment la, quel code que doit mettre sur les champs à ne pas modifier si la case (Cloturé) est coché ?

Merci à toi !!!

Joss
Joss0109 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 11h57   #20
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re

j'ai ajouté des sous form et des onglets dans mon formulaire
sans adressage ils restent actifs
donc ils faut desactiver aussi leurs textbox

courage
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h41.


 
 
 
 
Partenaires

Hébergement Web