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 :

La procédure évènementielle ne s'exécute pas


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 10
    Points : 12
    Points
    12
    Par défaut La procédure évènementielle ne s'exécute pas
    J'ai un Formulaire FormREGION et son sous-Formulaire SubFormVILLE
    J'ai 2 tables tables
    TblREGION avec 2 champs
    - CodeReg(2)
    - NomReg(20)
    TblVille avec 3 Champs
    - CodeVille(4)
    - NomVille
    - CodeReg(2)
    Le code ville doit être composé de CodeReg + deux caractère qu'on aura entré préalablement dans CodeVille.
    Au moment ou l'utlisateur saisit le info du formulaire FormTblVille, Je voudrais pouvoir affecter automatiquement les deux premiers caractères du champ CodeReg au champs Codeville, pour que ce dernier n'est plus qu'à completer que les deux derniers caractères avant la mise à jour de l'enrégistrement et le passage à l'enrégistrement suivant. J'utilise un formulaire continu sous forme de table.
    Pouvez vous m'aider sur les codes VBA à inserrer dans les propriétés évenementielles des champs ou du formulaire ?
    Merci.
    J'ai essayé dans le sous-Formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CodeVille_BeforeUpdate(Cancel As Integer)
      Dim CodeV as Variant
      CodeV = Inputbox("Entrez le code ville")
      Me![CodeVille]= Me![CodeReg] & CodeV
    End Sub
    La procédure évènementielle ne s'exécute même pas (pas de boite de dialogue inputbox) et le champ Codeville n'est pas mis à jour

    Merci

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    il est possible de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =[Formulaires]![formRegion]![codeReg]
    comme Valeur par defaut pour le champ CodeVille, ainsi le codeRegion s'affiche, il suffit de completer

    l'evenement BeforeUpdate se produit après la saisie lors de la validation

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour le forum
    Si le code de la ville doit être demandé à l'utilisateur, autant le demander à la saisie ou modification du code région soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CodeReg_AfterUpdate()
      Dim CodeV as Variant
      CodeV = Inputbox("Entrez le code ville")
      Me![CodeVille]= Me![CodeReg] & CodeV
    End Sub
    ---
    il est possible de mettre

    Code :

    =[Formulaires]![formRegion]![codeReg]
    comme Valeur par defaut pour le champ CodeVille, ainsi le codeRegion s'affiche, il suffit de completer
    La valeur par défaut est calculée lors d'un nouvel enregistrement et ne réagit plus par la suite, comme la saisie du code région.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    Une proposition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CodeVille_Enter()
      if len(CodeVille) <= 0 then
          Me![CodeVille]= Me![CodeReg]
      end if
    End Sub
    L'idée est: quand l'utilisateur sélectionne le champ, VBA teste son contenu. S'il est vide, il ajoute les code région, sinon il ne fait rien.

    Pour ce qui est du problème que rien ne fonctionne, vérifie le nom de ton champ texte. Vu la procédure, il doit d'appeller CodeVille aussi.
    Ce code doit être dans le module de ton sous-formulaire. Si rien ne se passe, vérifie les propriétés du champ texte: "événements" puis "Sur Entrée". Il doit y avoir [Procédure événementielle].

Discussions similaires

  1. [AC-2007] Problème d'exécution de procédure événementielle
    Par demcoul dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/05/2010, 17h58
  2. Réponses: 3
    Dernier message: 19/01/2010, 18h27
  3. Réponses: 4
    Dernier message: 18/05/2009, 20h15
  4. Réponses: 8
    Dernier message: 21/02/2008, 09h34
  5. Réponses: 3
    Dernier message: 09/10/2002, 12h35

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