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 :

Comment annuler une fonction(Débutant)


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Comment annuler une fonction(Débutant)
    Bonjour ,
    Dans un formulaire après mise à jour de la date je défini la valeur du Champ : N°FactImp avec ce Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub DateFacture_AfterUpdate()
    Me.N°FactImp = DMax("N°FactImp", "1-FactureEntête") + 1
     
    End Sub
    Je n'arrive pas à annuler l'évenement si le champ n'est pas nul !!
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    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 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Je n'arrive pas à annuler l'évenement si le champ n'est pas nul !!
    Que veux-tu au juste ?
    Annuler l'événement si le champ est nul ou bien s'il ne l'est pas ?
    Je ne comprends pas ton objectif.
    N'importe comment un encadrement avec un IF/End If devrait t'aider dans ta démarche...

    Argy

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    Que veux-tu au juste ?
    Annuler l'événement si le champ est nul ou bien s'il ne l'est pas ?
    Je ne comprends pas ton objectif.
    N'importe comment un encadrement avec un IF/End If devrait t'aider dans ta démarche...

    Je veux dire :Si le champ comporte déja un N° , surtout ne pas répété l'action en cas de changement de date sur une facture existante !
    Merci pour votre aide je franchis le pas des macros vers le VBA .
    Il y a t'il un tutoriel pour bien débuté ?

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    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 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Humm, Mouais...
    Eh bien tu dois repenser, selon moi le concept de tes formulaires.
    En mode consultation, il ne doit pas y avoir d'événement sur ce champ et même, il doit être verrouillé.
    En mode ajout (de nouvelle facture), il y a événment mais avec des clause de réserve de concordance lié à l'enregistrement en cours.

    Cela revient à dire qu'il te faut un formulaire pour la création de facture et un autre pour les consulter et ce avec des propriété différentes.

    Par exemple, l'événement de la roulette de la souris peut déclencher la validation de ton enregistrement alors que celui-ci n'est pas complet de même que certaines touches (Tab, Entrée) selon la position du curseur.

    Du peu que je comprends, tu as du te précipiter sur la conception pratique sans penser aux aspects techniques du comportement des données dans Access : ce n'est pas un repproche, c'est comme ça qu'on apprend et on est tous passé par là


    Il est judiceux dans le cas d'un N° de facture de passer par un n°auto compteur plutôt qu'un incrément établit comme tu l'a mis en place.

    Maintenant, si tu veux rester avec ce concept fragile et peu fiable s'il est utilisé comme tel, tu modifies ton code de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub DateFacture_AfterUpdate()
    Dim vntDernierNoFacture as Variant
     
        vntDernierNoFacture = DMax("[N°FactImp]", "1-FactureEntête") 
     
        If Not IsNull(lngDernierNoFacture) Then
            vntDernierNoFacture = vntDernierNoFacture + 1
        Else
            vntDernierNoFacture = 1
        End If
     
        If IsNull(Me.N°FactImp) Then
            Me!N°FactImp = vntDernierNoFacture 
        End If
    End Sub

    Argy

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup Argyronet

    J'ai toujour hésiter à doubler les formulaires ,
    Erreur de ma part ,ca va me simplifier la tache ,
    et rendre la base plus sure .
    Merci encore et à bientot

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

Discussions similaires

  1. [Débutant]Comment exécuter une fonction tous les jours
    Par pseudomh dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 21/06/2006, 16h10
  2. [C#][Débutant] Comment faire une fonction FindWindow ?
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/04/2006, 13h19
  3. Comment lancer une fonction
    Par Elois dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 21/04/2004, 19h10
  4. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13
  5. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24

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