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 13/01/2011, 18h49   #1
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Par défaut Formulaire dédié à

Bonsoir le Forum,

Je recherche la solution pour un formulaire dédié à la lecture uniquement.
Je souhaite par un bouton placé dans ce formulaire avoir le choix entre Modifier un enregistrement existant ou Ajouter un nouvel enregistrement. Les propriétés du formulaires Modif aut, Ajout aut, Suppr aut et Entrée données sont toutes sur Non.
Est il possible de modifier ces propriétés par code VBA
D'avance merci à vous pour votre aide.
Cordialement
zeltron24
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 19h00   #2
Rédacteur/Modérateur
 
Avatar de GAYOT
 
Homme Jean-Damien GAYOT
Inscription : novembre 2004
Messages : 2 071
Détails du profil
Informations personnelles :
Nom : Homme Jean-Damien GAYOT
Âge : 56
Localisation : France, Meuse (Lorraine)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : novembre 2004
Messages : 2 071
Points : 4 385
Points : 4 385
Envoyer un message via Skype™ à GAYOT
Bonjour
Tu peux aller voir du coté des propriétés:
AllowEdits, AllowAdditions, AllowDeletions
__________________
Plus j'avance et plus j'ai l'impression de ne rien savoir. Et comme j'essaie d'aller loin..!!.

Tutoriels sur:http://jdgayot.developpez.com

Pas de sujets techniques par Mp. Sinon
GAYOT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 19h38   #3
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Par défaut Merci

Super,
C'est effectivement ces termes que je cherché.
Merci beaucoup pour ton aide.
Meilleurs voeux et bonne soirée
zeltron24
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 14h04   #4
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Par défaut Re

Bonjour le Forum,

Surprise ce matin en ouvrant mon formulaire il ne me signale que des erreurs dues aux propriétés AllowEdits, AllowAdditions, AllowDeletions
Alors que hier cela semblait fonctionner correctement.
alors je me demande comment et surtout ou je dois déclaré ces propriétés. Plusieurs sites me donne une vague idée mais je n'y pige rien.
donc si quelqu'un pourrait me donné une solution recopiable j'en serais ravi.
D'avance merci à vous
zeltron24
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 17h11   #5
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Bonjour,

Si tu souhaite que nous puissions t'apporter une solution, il faut nous donner un maximum de renseignements...

Citation:
..il ne me signale que des erreurs dues aux propriétés
Lesquelles

Un début de solution (parmi une multitudes...)
Dans ton cas, à l'ouverture de ton formulaire il faut que la propriété (du formulaire) soit réglée de la sorte: Empêche toute modification dès l'ouverture du formulaire..
Modif autorisée (AllowEdits ) = non

Ensuite, il faut "programmer" ton bouton [Modifier] pour changer par code VBA cette propriété du formulaire:
Code :
1
2
3
Private Sub cmdModifier_Click()
Me.AllowEdits = True
End Sub
Voilà pour la base....
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 17h35   #6
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Bonjour FreeAccess

Ok pour
Citation:
Modif autorisée (AllowEdits ) = non
Le Bouton Modifier est programmé mais sans l'action inverse donc cela faisait déjà une erreur.
De plus j'ai mis les propriétés Activé et Vérouillé dans données à Oui ce qui m'empeche de modifier tant que je n'ai pas appuyé sur le bouton Modifier qui doit me permettre les modifs Hélas cela ne marche que pour des champs Texte pour les listes et Remarques cela ne fonctionne pas.
Le Bouton Modifier étant dans la partie détail du Formulaire il ne fonctionne plus si AllowEdits = False
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 17h52   #7
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Waouuh.....pas facile à comprendre tout cela.....

Citation:
...j'ai mis les propriétés Activé et Vérouillé dans données à Oui
...donc ici, on ne parle plus des propriété affectées au formulaire, mais des propriétés que tu as affectées à tes différents contrôles.....

Si j'ai bien compris, tous tes contrôles ont leur propriété Verrouillé = oui ......
.....et je pense que sur le clic de ton bouton MODIFIER, tu change cette propriété....en utilisant ce genre de code..:
Code :
1
2
3
4
5
For Each ctrl In Me.Controls 
If ctrl.ControlType = acTextBox Then 
    ctrl.Locked= False
End If 
Next ctrl
Citation:
...des champs Texte pour les listes et Remarques cela ne fonctionne pas
...si c'est le cas, le comportement est normal puisque dans ton code VBA tu ne demande à changer QUE la propriété Verrouillé des contrôles qui sont de type TextBox....

La devrait t'apporter une solution:
Comment changer la valeur de plusieurs contrôles en même temps ?
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 18h04   #8
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Un document ci joint sera peut etre plus utile
Merci pour ton aide
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 18h20   #9
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Si ton code correspond vraiment à celui que tu utilise actuellement.......il serait bon que tu prennes le temps de le vérifier.....

Car tu nous dit.....
Citation:
...cela ne marche que pour des champs Texte pour les listes et Remarques cela ne fonctionne pas.
....comment veux-tu que ta listes [Titre] puisse être modifiable......alors que dans ton code tu as inhibé cette action....
Code :
1
2
3
4
'Me.Titre.Enabled = True
'Me.Titre.Locked = False
Me.Nom_Contact.Enabled = True
Me.Nom_Contact.Locked = False
....idem pour ton champ [Remarques]

Maintenant, tu devrais t'inspirer du lien de la pour éviter un code à rallonge pour verrouiller/Déverrouiller tes contrôles....
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 18h34   #10
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Ok
mais comme je ne suis pas très doué sur Access j'essaie de me débrouiller ce qui d'après ce que je constate dans tes messages est loin d'etre satisfaisant. Je suis conscient que cela est dur pour toi de comprendre ce que je désire. Meme en regardant dans la faq je ne comprends pas tout et je ne sais meme pas ou doivent etre placé les lignes de code.
Alors ne m'en veux pas de trop si je suis "Un peu dur d'oreille"
Je fais de mon mieux et c'est pour cela que je demande de l'aide.
Encore Mille merci.
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 18h58   #11
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Ne prends pas mal mes "remarques....elles ne sont là que dans le but de te faire progresser...

Citation:
...en regardant dans la faq je ne comprends pas tout et je ne sais meme pas ou doivent etre placé les lignes de code
Petite explication:
Pour permettre la modification de tes contrôles, dans l'événement "Sur clic" de ton bouton de commande [BtnBascModif] tu fais appel à une SUB nommée (ModifParam )....

Dans cette SUB, tu modifie un par un TOUS tes contrôles afin de passer la propriété Verrouillé = non.
Code :
1
2
3
4
5
6
7
8
9
Sub ModifParam()
Me.Nom_Contact.Enabled = True
Me.Nom_Contact.Locked = False
Me.Prénom_Contact.Enabled = True
Me.Prénom_Contact.Locked = False
....
....
....
End Sub
Cette façon de faire est correcte.....puisque tu obtiens bien le résultat escompté

Maintenant, dans un but "d'optimisation", "de lisibilité", "de maintenance"..... tu peux obtenir la même chose avec beaucoup moins de code......et ceci en mettant en œuvre le code proposé dans la

Si à la place du code actuellement présent dans ta Sub ModifParam() , tu remplace celui-ci par :
Code :
1
2
3
4
5
6
7
8
9
10
Dim ctrl As control 
'Pour chaque contrôle présent.....
For Each ctrl In Me.Controls 
'Si le contrôle est de type TextBox....
If ctrl.ControlType = acTextBox Then
'alors je passe la propriété Locked à non 
    ctrl.Locked= False
End If 
Next ctrl
Set ctrl = Nothing
....ici en une seule "action" tu vas modifier TOUS tes contrôles de type TextBox..... ...que tu aies 10 ou 100 contrôles
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 19h45   #12
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Super

J'ai placé je le pense aux bon emplacement tes codes et fais le ménage dans mes codes. Hélas je n'ai plus de réponse lorsque je clique sur le bouton Modifier. Je dois encore avoir une erreur quelque part Je cherche.....

Je te tiens au courant
A +

Et merci
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 20h09   #13
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Encore un petit souci

Citation:
' Paramètre du Formulaire
Me.AllowEdits = False ' Interdire les Modifications
Etait resté dans Form_Open(Cancel As Integer)

Par contre le Bouton modifier est à Bascule (il fonctionne correctement)
Mais le Bouton Valider (BtnValidModif) qui s'affiche lorsque j'appui sur Modifier me permet de valider ou pas des options, ne peut pas etre invisible lorsque je clique sur Non du MsgBox associé.
Y a t-il une solution.
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 20h29   #14
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Citation:
ne peut pas etre invisible lorsque je clique sur Non du MsgBox associé.
Donc je pense qu'ici tu as eu un message d'erreur ....

N'oublie pas que nous ne sommes pas devant ton écran..

...et ce message d'erreur devrait te préciser que tu ne pouvais pas appliquer telle action à un contrôle activé..

En clair, AVANT de pouvoir rendre invisible un contrôle, il ne faut PLUS que ce contrôle soit actif...
....et la nous dit...
Erreur d'exécution '2164' '2165' : Impossible de désactiver/masquer le contrôle actif

....si cela ne résout pas ton problème, décrit nous celui-ci avec plus de détail...
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 21h44   #15
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Apparament cela fonctionne avec ce code

Citation:
Private Sub MonBouton_Click()
Me.AutreBouton.SetFocus
Me.MonBouton.Enable = False
End Sub
Encore Merci beaucoup
Bonne fin de soirée
A+
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 19h36   #16
Futur Membre du Club
 
Guy
Inscription : janvier 2010
Messages : 61
Détails du profil
Informations personnelles :
Nom : Guy

Informations forums :
Inscription : janvier 2010
Messages : 61
Points : 19
Points : 19
Par défaut Suite

Bonsoir Le Forum,

J'ai un gros souci sur mon Formulaire. En effet suite à une mise en page par "AFFICHAGE" "ORDRE de TABULATION", si je change l'ordre et que je veux ensuite cliquer sur l'image ou la changer, j'ai une erreur (Voir fichier Capture 1 joint)
De plus je ne peux plus modifier mon image par le bouton Photo (Voir capture2 et code)
j'ai beau chercher je ne vois pas la solution.
Tout fonctionner correctement avant
Merci d'avance pour l'aide que vous pourriez m'apporter.
Cordialement
zeltron24
Fichiers attachés
Type de fichier : zip capture1.zip (14,1 Ko, 4 affichages)
Type de fichier : zip Fichiers.zip (94,7 Ko, 5 affichages)
Zeltron24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 20h35   #17
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Bonjour,

A nouveau problème.......nouveau post...

Si ton premier problème est résolue, clôture ce post à l'aide du Tag ......et ouvre un nouveau post pour ton nouveau problème.

Dans la mesure du possible, sauf si cela peut vraiment apporter une plus valus, évite de mettre des pièces jointes que beaucoup n'ouvriront pas....
Par contre, poste les extraits de code sur lesquels tu as un problème en utilisant les balises prévues à cet effet...
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h06.


 
 
 
 
Partenaires

Hébergement Web