IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Interdire le passage à un autre enregistrement


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut Interdire le passage à un autre enregistrement
    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

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par acama Voir le message
    Je souhaite interdire le changement d'enregistrement quand je suis en mode création.
    En mode création ???

    Citation Envoyé par acama Voir le message
    C'est quoi la propriété cycle ?

    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.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    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.

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    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

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    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

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    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.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    Bon je vais me lancer dans la solution 1
    Merci Argy

  8. #8
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    ...mais quand est il des fleches de direction?
    Sur l'événement "Sur touche appuyée" de ton formulaire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    'Inhibe l'action des touches flèches
    Select Case KeyCode
         Case 33, 34, 38, 40 'touches flèche
              KeyCode = 0
    End Select
    End Sub
    ...ne pas oublier de mettre l'événement "Aperçu des touches" = oui

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    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,

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    La performance est négligeable entre les deux...
    Ce n'est pa la même façon de coder.

    • Dans un cas, l'addition d'une instanciation de DLL est nécessaire plus tout un jeu d'événements associé (keyPress etc...)
    • Dans l'autre, pas ou peu de code puisque c'est un simple INSERT.

    Dans les deux cas, une vérif des entrées.
    => 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

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    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+

  12. #12
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    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

Discussions similaires

  1. Passage d'un enregistrement a un autre
    Par lamis2009 dans le forum Forms
    Réponses: 1
    Dernier message: 23/02/2009, 13h54
  2. Empêcher passage à un autre enregistrement.
    Par timoth dans le forum IHM
    Réponses: 5
    Dernier message: 13/12/2007, 11h34
  3. Réponses: 2
    Dernier message: 23/05/2007, 17h47
  4. Réponses: 2
    Dernier message: 26/04/2007, 17h32
  5. Passage d'un enregistrement à un autre avec TAB
    Par Cécile154 dans le forum Access
    Réponses: 2
    Dernier message: 16/02/2005, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo