|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 64 ![]() |
Bonsoir,
Je souhaite interdire le changement d'enregistrement quand je suis en mode création. La solution de bloquer le molette pourquoi pas mais on peut toujours changer d'enregistrement avec les flèches de direction ? C'est quoi la propriété cycle ? Alex |
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() |
Citation:
En mode création ???![]() La propriété Cycle te permet de décider ce qui se produit lorsque tu appuies sur la touche TAB lorsque le focus est positionner sur le dernier contrôle du formulaire actif. Le plus souvent, la propriété par défaut est "Tous les enregistrements" ce qui signifie que tu passeras à l'enregistrement suivant dans les modalité évoqué ci-dessus. Argy P.S. L'aide 2007 est ambigüe sur ce sujet, en tout cas dans ma version. (Général au lieu de Tous les enregistrements). J'ai remonté l'info à MS.
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 64 ![]() |
Merci pour ta réponse.
En fait, je mets le formulaire en mode ajout (oui création était pas le bon mot...) => recordset.addnew. Je voudrais controler ce qui a été saisie avant d'enregistrer le record. J'ai donc enlever les boutons. Mais l'utilisateur peut toujours soit utiliser la roulette ou les fleches de direction. J'ai bien essayer d'utiliser l'évenement _current, mais comment annuler le passage à l'enregistrement si je detecte que les data saisies sont erronées ? Pour cycle je vois pas comment ca peut m'aider, ca n'a ps d'impact sur la roulette ou sur les fléches de direction Maintenant je pense a faire une copie de mon formulaire sans lien avec un recordset uniquement pour gérer le mode ajout. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() |
La propriété Cycle est à définir si le clavier est utilisé (TAB).
Il est tout de même recommandé de la définir à "Enregistrement en cours" Selon la version d'Access (<2007), tu dois mettre en place la routine de MouseWheel.dll ou la version NoReg des tuto stipulés dans cette file. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 64 ![]() |
Ok pour bloquer la roulette (c'est lourd juste éviter de passer à un autre enregistrement), mais quand est il des fleches de direction?
Si j'ai compris avec Cycle on gere tab mais pas les fleches. Alex |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() |
Il y a différentes solutions pour empêcher de passer au suivant :
1/ Un formulaire nanti de contrôles indépendant et lui-même sans source ave un bouton Annuler et un autre enregistrer (ou l'enregistrement s'effectue avec un INSERT INTO via CurrentDB) 2/ Un procédé de surveillance des valeurs qui si elles ne sont pas toutes valide empêche le passage au suivant (Usage de Bookmark). [...] Argy Moi j'use le plus souvent de la 1.
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 64 ![]() |
Bon je vais me lancer dans la solution 1
Merci Argy |
|
|
00
|
|
|
#8 | |||
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 309 ![]() |
Bonjour,
Citation:
Code :
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|||
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 64 ![]() |
Merci FreeAccess.
J'ai finalement choisi de faire un formulaire non lié à une source de données pour saisir les ajouts d'enregistrement. C'était soit gérer la roulette, les fleches et masquer les boutons soit créer le formulaire indépendant. Finalement je ne sais pas ce qui est le plus efficace et/ou le moins long... Vos avis sont les bienvenu. Alex, |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() |
La performance est négligeable entre les deux...
Ce n'est pa la même façon de coder.
=> quand je dis indépendant, cela ne t'interdit pas d'avoir des zones de liste alimentées par des tables/requêtes pour interdire certaines saisies... Du fait que ce soit un formulaire dédié, c'est autrement plus souple et surtout sans risques coté données Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 64 ![]() |
Je trouve effectivement la solution du formulaire indépendant plus sécure (j'ai effectivement gardé des zones de liste avec requête sur la bdd pour faciliter la saise).
En fait j'ouvre ce formulaire en mode Acdialog. Sur le bouton "enregistrer" du formulaire indépendant, 1) je teste ce qui a été saisie 2) je fait un Addnew dans le recordset du formulaire précédent (celui qui a permit d'appeler mon formulaire indépendant de création). 3) je ferme le formulaire indépendant Du coup, ma fenetre précédente a bien le nouvel enregistrement visible (avec un petit refresh pour mettre à jour également le sous fomulaire lié) Ca fonctionne de façon sécurisé, mais comme je suis pas un as, il y a peut être mieux... A+ |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() |
Humm, je t'avais évoqué le INSERT INTO via l'objet Database représenté par CurrentDB().
Le AddNew t'oblige à manipuler un RecordSet avec les petits aléas qu'il ne faut pas oublier (.Close et Nothing notamment pour les objets). Mais si tu t'en es sorti ainsi, tant mieux. Pour parfaire le tout tu peux, à la suite de ton enregistrement effectuer le Refresh depuis ce même formulaire... Ca fait plus "pro". Je te laisse chercher... Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com