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 :

afterupdate() & current()


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 20
    Par défaut afterupdate() & current()
    bonjour à tous,

    voila j'ai créé un code qui fonction avec current() je voudrai savoir si il est possible ,et si oui comment, d'éxécuter mon code avec current et avec afterupdate de plusieurs champs.

    donc donc je modifie le champ 1 le code s'execute, le champs 2 même chose et lorsque je change d'enregistrement sur mon formulaire également

    merci beaucoup

    bonne journée

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Il n'y a pas de "listener" en Access donc la méthode la plus simple est de créer une procédure de MAJ et de l'appeler là où tu en a besoin.

    Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub MaSubMAJCommune()
       'ici le traitement sur Current et MAJ
    End sub
    Puis pour chaque champ ou événement tu mets

    C'est un peu lourd et cela manque cruellement d'élégance mais ça marche très bien.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 20
    Par défaut
    voila mon code devrait ressembler à ca alors ?

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Private Sub MasubMajCommune()
     
    Dim strDossier As String
    Dim strFichier As String
    Dim strFichier2 As String
    Dim strChemin As String
    Dim strchemin2 As String
     
    strDossier = "C:\Documents and Settings\Administrateur\Mes documents\ADDICT\Content\"
    strFichier = Nz(Photo_question_1.Value)
    strFichier2 = Nz(Photo_reponse_1.Value)
     
     
    If strDossier = "" Then
    Form_REQ_2A1.Imgapercu.Picture = "C:\Documents and Settings\All Users\Documents\Mes images\Échantillons d'images\collines.jpg"
    Form_REQ_2A1.Imgapercu2.Picture = "C:\Documents and Settings\All Users\Documents\Mes images\Échantillons d'images\collines.jpg"
     
    Else
     
        If Right(strDossier, 1) <> "\" Then
                strDossier = strDossier + "\"
        End If
     
        If strFichier = "" Then
     
        Form_REQ_2A1.Imgapercu.Picture = "C:\Documents and Settings\Administrateur\Mes documents\ADDICT\BD\Fichier Finaux\pas d'image.png"
     
        Else
     
            If ExistFile(strDossier + strFichier) = False Then
     
            Form_REQ_2A1.Imgapercu.Picture = "C:\Documents and Settings\Administrateur\Mes documents\ADDICT\BD\Fichier Finaux\existe pas.png"
     
            Else
     
     
            strChemin = strDossier + strFichier
            Form_REQ_2A1.Imgapercu.Picture = strChemin
     
            End If
     
        End If
     
     
        If strFichier2 = "" Then
     
        Form_REQ_2A1.Imgapercu2.Picture = "C:\Documents and Settings\Administrateur\Mes documents\ADDICT\BD\Fichier Finaux\pas d'image.png"
     
        Else
     
            If ExistFile(strDossier + strFichier2) = False Then
     
            Form_REQ_2A1.Imgapercu2.Picture = "C:\Documents and Settings\Administrateur\Mes documents\ADDICT\BD\Fichier Finaux\existe pas.png"
     
            Else
     
            strchemin2 = strDossier + strFichier2
            Form_REQ_2A1.Imgapercu2.Picture = strchemin2
     
            End If
     
        End If
     
    End If
     
    End Sub
    Ou bien je dois mettre quelque part private sub form_current() et afterupdate() ?

    Merci

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Probablement après tu n'as plus qu'a mettre

    call MasubMajCommune()

    dans le code de Current() et AfterUpdate()

    Private indique seulement que MasubMajCommune n'est visible que dans le formulaire qui l'utilise pas par tous les modules de ta BD.

    C'est une pratique vivement recommandée de 'cacher' les éléments que tu utilises si il n'y a pas de raison qu'ils soient utilisables par d'autres. Ainsi tu évites les problèmes de noms et les risques d'appels incontrôlées.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. No MST is currently in progress, cannot declare a
    Par antigone dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/07/2003, 11h59

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