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

VBA Access Discussion :

GoToRecord inactif, comment annuler les actions qui suivent le code?


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut GoToRecord inactif, comment annuler les actions qui suivent le code?
    Bonsoir,

    dans une méthode BeforeUpdate() je teste la validité d'un de mes champs et je veux que si le résultat obtenu est faux, alors mon focus retourne sur l'enregistrement à enregistrer, et sur le champ voulu. Pour cela, j'ai essayé le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        rc = Me.CurrentRecord
        If re=1  Then                   'test règle de validité
            MsgBox "erreur, retour sur ce  champ pour modif"
            DoCmd.GoToRecord , , acGoTo, rc
            Me.Référence_facture.SetFocus
        End If
    mais mes deux dernières lignes ne fonctionnent pas, elles sont exécutées,puis annulées par l'évènement du bouton sur lequel j'ai cliqué , par exemple si je passe d'un enregistrement à un autre.
    Comment faire donc pour rendre réellement actifs ces deux méthodes soit empêcher qu'un autre "code" ne s'exécute automatiquement ensuite?

    merci d'avance pour votre aide!
    cordialement
    schwarzy2

  2. #2
    Membre Expert Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Par défaut
    Hello !

    Tu n'as rien d'autre comme code avec ce bouton ?
    J'ai fait l'essai chez-moi, ton code fonctionne parfaitement... si on se contente de ce que tu as collé dans ton post...

  3. #3
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut
    bonsoir bernardmichel, merci de te pencher sur mon problème!
    non je n'ai rien d'autre comme code sur ce bouton mais le retour sur le bon enregistrement et le champ focus ne marchent pas tout le temps.
    Par exemple:si je modifie le champ Référence_facture et que je change d'enregistrement en cliquant sur un bouton de déplacement d'enregistrements, eh bien, je n'ai pas ce que je veux.
    Mais si je change la Référence_facture et que je déplace mon focus sur un autre champ, puis qu'ensuite je change d'enregistrement: là j'ai ce que je veux.
    c'est pour ça que je pense qu'il faudrait que j'empêche toute action après le code.
    merci pour ton aide!
    cordialement
    schwarzy2

  4. #4
    Membre Expert Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Par défaut
    Hello !

    T'es-t'il possible d'alléger ta MDB (en laissant une ou deux données pour les tests) de la compresser et de la joindre à ton prochain post. Je pourrai ainsi tester directement, sans que l'on se perde en conjectures...

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    salut à tous,

    schwarzy2 vraiment j'ai du mal à comprendre.
    tu as mis sur quel événement BeforeUpdate() ?
    sur le form ou la zone de texte?

    je comprend pas l'utilité de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord , , acGoTo, rc
    puisque si la condition n'est pas valide tu n'a qu'a pas sortir du champ ou de l'enregistrement: pas de changement d'enregistrement donc pas besoin de se repositionner.

    quel est la règle de validité?

  6. #6
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut
    mon code est sur BeforeUpdate() du form, ma règle de validité est d'empêcher un doublon sur le champ Référence_facture, et je voudrais bien ne pas sortir de mon enregistrement mais si ma mise à jour se fait justement quand je passe à un autre enregistrement, eh bien il y a la règle qui s'applique, un message apparait, et après malgré mon code, je passe qd même à un autreenregistrement.
    voici ma base exemple, c'est le form facts et merci pour votre aide!

  7. #7
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    tu n'as qu'a mettre en mode édition de table sur le champ 'Référence_facture' dans l'onglet général, la propriété 'indexé' : Oui sans doublons.

    c'est suffisant pour bloquer l'enregistrement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/10/2006, 18h14
  2. Réponses: 11
    Dernier message: 03/09/2006, 21h25
  3. Réponses: 5
    Dernier message: 31/03/2006, 18h12
  4. [c#] comment annuler l'action d'un requireValidator
    Par shams dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/07/2005, 12h03
  5. Comment désactiver les actions automatiques de Windows ?
    Par j-phi dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 06/01/2005, 12h53

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