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 :

Explication code VBA svp


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Points : 30
    Points
    30
    Par défaut Explication code VBA svp
    Tout d'abord, bonjour à tous.
    Je suis nouveau et si je m'inscris ici c'est parce que j'aimerai avoir votre aide s'il vous plait.

    J'ai effectué un formulaire dans un formulaire autrement dit un sous formulaire sous la BDD Access dont son objectif est de faire des recherche sur des palanquées via différents critères. J'ai donc réaliser des boutons avec du code VBA derrière derrière, je me suis fait aider par quelqu'un pour réaliser ce programme.

    Si quelqu'un pouvait me mettre des commentaires sous chaque partie importante afin de m'aider à mieux comprendre. Car même si on m'a aidé, j'aimerai tout bien comprendre car je ne comprend pas tout.
    Donc si quelqu'un aurait la patience et la gentillesse de me mettre des commentaires sous une autre couleur par exemle pour mon programme, ça serait vraiment sympa, sinon tampis.

    Merci d'avance.


    PS : Désolé pour mes fautes, j'essaye de faire de mon mieux

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    Private Sub btnRmoniteur_Click() 
     
    Dim StrSQL As String 
     
     
    StrSQL = "select palanquee.NumPalanquee, moniteur.NomMoniteur, " 
    StrSQL = StrSQL & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site " 
    StrSQL = StrSQL & "where palanquee.NumMoniteur = moniteur.NumMoniteur " 
    StrSQL = StrSQL & "and palanquee.NumSite=site.NumSite " 
    StrSQL = StrSQL & "and palanquee.NumMoniteur = " & Me.ldrmoniteur & ";" 
     
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL 
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query 
     
    End Sub 
     
    Private Sub btnRsite_Click() 
     
    Dim StrSQL1 As String 
     
    StrSQL1 = "select palanquee.NumPalanquee, moniteur.NomMoniteur, " 
    StrSQL1 = StrSQL1 & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site " 
    StrSQL1 = StrSQL1 & "where palanquee.NumMoniteur = moniteur.NumMoniteur " 
    StrSQL1 = StrSQL1 & "and palanquee.NumSite=site.NumSite " 
    StrSQL1 = StrSQL1 & "and palanquee.NumSite = " & Me.ldrsite & ";" 
     
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL1 
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query 
     
    End Sub 
     
    Private Sub btnRdate_Click() 
     
    Dim StrSQL2 As String 
    Dim datt As String 
     
    datt = Mid(Me.ldrsortie.Value, 7, 4) & "/" & Mid(Me.ldrsortie.Value, 4, 2) & "/" & Left(Me.ldrsortie.Value, 2) 
     
    StrSQL2 = "select palanquee.NumPalanquee, moniteur.NomMoniteur, " 
    StrSQL2 = StrSQL2 & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site " 
    StrSQL2 = StrSQL2 & "where palanquee.NumMoniteur = moniteur.NumMoniteur " 
    StrSQL2 = StrSQL2 & "and palanquee.NumSite=site.NumSite " 
    StrSQL2 = StrSQL2 & "and palanquee.DatePalanquee = #" & datt & "# ;" 
     
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL2 
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query 
     
    End Sub 
    Private Sub btnRnumPalanquee_Click() 
     
    Dim StrSQL3 As String 
     
     
    StrSQL3 = "select palanquee.NumPalanquee, moniteur.NomMoniteur, " 
    StrSQL3 = StrSQL3 & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site " 
    StrSQL3 = StrSQL3 & "where palanquee.NumMoniteur = moniteur.NumMoniteur " 
    StrSQL3 = StrSQL3 & "and palanquee.NumSite=site.NumSite " 
    StrSQL3 = StrSQL3 & "and palanquee.NumPalanquee = " & Me.ldrnumero_palanquée & ";" 
     
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL3 
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query 
     
    End Sub 
    Private Sub menu_Click() 
    On Error GoTo Err_menu_Click 
     
    Dim stDocName As String 
    Dim stLinkCriteria As String 
     
    stDocName = "menu" 
    DoCmd.OpenForm stDocName, , , stLinkCriteria 
     
    Exit_menu_Click: 
    Exit Sub 
     
    Err_menu_Click: 
    MsgBox Err.Description 
    Resume Exit_menu_Click 
     
    End Sub 
    Private Sub raz_Click() 
     
    Me.ldrnumero_palanquée = "" 
    Me.ldrsortie = "" 
    Me.ldrsite = "" 
    Me.ldrmoniteur = "" 
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bon courage !

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    Option Compare Database
    Option Explicit
     
    Private Sub btnRmoniteur_Click()
    'ceci se produit lors d'un clic sur btnRmoniteur
    Dim StrSQL As String
     
    ' on fabrique ici le sql d'un requête
    StrSQL = "select palanquee.NumPalanquee, moniteur.NomMoniteur, "
    StrSQL = StrSQL & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site "
    StrSQL = StrSQL & "where palanquee.NumMoniteur = moniteur.NumMoniteur "
    StrSQL = StrSQL & "and palanquee.NumSite=site.NumSite "
    StrSQL = StrSQL & "and palanquee.NumMoniteur = " & Me.ldrmoniteur & ";"
     
     Debug.Print sql    ' ceci te permet de récupérer le sql dans la fenêtre d'éxécution
                        ' récupère ce sql dans une requête et examine la en mode création
     
    ' cette requête sert maintenant de source à ton sous-formulaire
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query
     
    End Sub
     
    Private Sub btnRsite_Click()
    ' idem que btnRmoniteur_Click, mutatis mutandis (en changeant ce qui doit l'être)
     
    Dim StrSQL1 As String
     
    StrSQL1 = "select palanquee.NumPalanquee, moniteur.NomMoniteur, "
    StrSQL1 = StrSQL1 & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site "
    StrSQL1 = StrSQL1 & "where palanquee.NumMoniteur = moniteur.NumMoniteur "
    StrSQL1 = StrSQL1 & "and palanquee.NumSite=site.NumSite "
    StrSQL1 = StrSQL1 & "and palanquee.NumSite = " & Me.ldrsite & ";"
     
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL1
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query
     
    End Sub
     
    Private Sub btnRdate_Click()
     
    Dim StrSQL2 As String
    Dim datt As String
    ' datt = la 7, 8, 9 et 10eme position de ldrsortie (depuis la 7eme sur une longueur de 4
      ' + slash + équivalent ldrsortie + / suivi des 2 premiers caractères de ldrsortie
    datt = Mid(Me.ldrsortie.Value, 7, 4) & "/" & Mid(Me.ldrsortie.Value, 4, 2) & "/" & Left(Me.ldrsortie.Value, 2)
     
    StrSQL2 = "select palanquee.NumPalanquee, moniteur.NomMoniteur, "
    StrSQL2 = StrSQL2 & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site "
    StrSQL2 = StrSQL2 & "where palanquee.NumMoniteur = moniteur.NumMoniteur "
    StrSQL2 = StrSQL2 & "and palanquee.NumSite=site.NumSite "
    StrSQL2 = StrSQL2 & "and palanquee.DatePalanquee = #" & datt & "# ;"
     ' debug print StrSQL2 pour visualiser ce que cela donne comme requête
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL2
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query
     
    End Sub
    Private Sub btnRnumPalanquee_Click()
     ' voir les cas précédents
    Dim StrSQL3 As String
     
     
    StrSQL3 = "select palanquee.NumPalanquee, moniteur.NomMoniteur, "
    StrSQL3 = StrSQL3 & "site.LibelleSite, palanquee.DatePalanquee from palanquee, moniteur, site "
    StrSQL3 = StrSQL3 & "where palanquee.NumMoniteur = moniteur.NumMoniteur "
    StrSQL3 = StrSQL3 & "and palanquee.NumSite=site.NumSite "
    StrSQL3 = StrSQL3 & "and palanquee.NumPalanquee = " & Me.ldrnumero_palanquée & ";"
     
     
     
    Me.requête_formulaire_palanquée_sous_formulaire.Fo
    rm.RecordSource = StrSQL3
     
    Me.requête_formulaire_palanquée_sous_formulaire.Re
    query
     
    End Sub
    Private Sub menu_Click()
    'tu ouvres (d'une manière fort compliquée !) un formulaire nommé "Menu"
    'DoCmd.OpenForm "menu"
    ' eût été plus simple
     
    On Error GoTo Err_menu_Click
     
    Dim stDocName As String
    Dim stLinkCriteria As String
     
    stDocName = "menu"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    Exit_menu_Click:
    Exit Sub
     
    Err_menu_Click:
    MsgBox err.Description
    Resume Exit_menu_Click
     
    End Sub
    Private Sub raz_Click()
    ' tu provoques la remise à blanc des différents champs
     
    Me.ldrnumero_palanquée = ""
    Me.ldrsortie = ""
    Me.ldrsite = ""
    Me.ldrmoniteur = ""
     
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bon courage !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Debug.Print sql    ' ceci te permet de récupérer le sql dans la fenêtre d'éxécution
    Je comprend tout à fait ton commentaire. C'est le résultat de ma requête, afficher dans le sous-forumlaire ?
    Mais néanmoins, je ne vois pas où j'ai écris "Debug.Print sql", c'est toi qui l'a rajouter ?


    Merci beaucoup, je vais retravailler dessus pour voir si j'ai tout compris. Merci encore, c'est vraiment sympa.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Oui.
    Comme cela tu peux visualiser ce que le programme génère comme sql.
    C'est toujours intéressant quand tu essaies de comprendre ce qui se passe.
    Tu l'enlèves ensuite.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Points : 30
    Points
    30
    Par défaut
    Ok, merci bien.

    Et pour ce qui est de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.requête_formulaire_palanquée_sous_formulaire.Form.RecordSource = StrSQL 
     
    Me.requête_formulaire_palanquée_sous_formulaire.Requery
    Si on ne met pas ça, le formulaire ne peut pas fonctionner ?
    Je ne comprend pas à quoi ça sert exactement ? C'est à faire fonctionner le formulaire ?

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'Ceci pour aménager le source de ton sous-formulaire 
    Me.requête_formulaire_palanquée_sous_formulaire.Form.RecordSource = StrSQL 
    'ceci pour le "réveiller" après son opération 
    '(on vient de lui greffer une nouvelle source, ce n'est pas rien 
    Me.requête_formulaire_palanquée_sous_formulaire.Requery
    Pour répondre à ta question précédente (que je n'avais pas vue) :
    oui, c'est indispensable !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup !

Discussions similaires

  1. [Toutes versions] Explications code VBA
    Par alexvol dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/11/2012, 04h03
  2. [XL-2007] Comment simplifier mon code VBA SVP?
    Par anthooooony dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2012, 10h59
  3. explication code vba
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/04/2008, 09h01
  4. explication code vba
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/04/2008, 11h12
  5. Correction de mon code vba svp
    Par njinkeu.mbakob dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/04/2008, 12h21

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