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 :

Code VBA pour bouton de commande


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut Code VBA pour bouton de commande
    Bonjour,
    Est ce que quelqu'un peut m'expliquer le code ci dessous, car je débute avec Access 2007, et là sur le code, je sais qu'il y a juste une déclaration de variable "StrSql" mais je ne comprends pas le raisonnement qui a été fait:

    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
    Private Sub bcRecalculer_Click()
    On Error GoTo Err_bcRecalculer_Click
     
        Dim StrSql As String
     
        StrSql = ""
        StrSql = StrSql & "SELECT "
        StrSql = StrSql & "1 AS Comptage, "
        StrSql = StrSql & "Promo_Identite.Code As CodePromo, "
        StrSql = StrSql & "Stage_Identite.Attestation_Assusrance, "
        StrSql = StrSql & "[Etudiant_Identite].[Nom] & ' - ' & [Etudiant_Identite].[Prenom] AS Etudiant, "
        StrSql = StrSql & "[Etudiant_Identite].[Telephone] AS TelEtudiant, "
        StrSql = StrSql & "[IUT_Tuteur_Identite].[Nom] & ' - ' & [IUT_Tuteur_Identite].[Prenom] AS Iut_Tuteur, "
        StrSql = StrSql & "[IUT_Tuteur_Identite].[Telephone] AS TelIutTuteur, "
        StrSql = StrSql & "Entreprise_Identite.RaisonSociale, "
        StrSql = StrSql & "ActiviteGroupe_Identite.Libelle AS LibActivite, "
        StrSql = StrSql & "Fourchette_NombreSalarie.Libelle AS Nb_Salarie "
     
        StrSql = StrSql & "FROM "
        StrSql = StrSql & "(Etudiant_Identite "
        StrSql = StrSql & "INNER JOIN (Fourchette_NombreSalarie "
        StrSql = StrSql & "INNER JOIN (ActiviteGroupe_Identite "
        StrSql = StrSql & "INNER JOIN (Entreprise_Identite "
        StrSql = StrSql & "INNER JOIN (IUT_Tuteur_Identite "
        StrSql = StrSql & "INNER JOIN Stage_Identite "
        StrSql = StrSql & "ON IUT_Tuteur_Identite.Id = Stage_Identite.IUT_Tuteur) "
        StrSql = StrSql & "ON Entreprise_Identite.Id = Stage_Identite.Entreprise_Id) "
        StrSql = StrSql & "ON ActiviteGroupe_Identite.Id = Entreprise_Identite.SecteurActiviteGroupe) "
        StrSql = StrSql & "ON Fourchette_NombreSalarie.Id = Entreprise_Identite.NombreSalarie) "
        StrSql = StrSql & "ON Etudiant_Identite.Id = Stage_Identite.Etudiant_Id) "
        StrSql = StrSql & "INNER JOIN Promo_Identite ON Stage_Identite.Promo = Promo_Identite.Id "
     
        StrSql = StrSql & "WHERE ("
        StrSql = StrSql & "(1=1) "
        If Sel_Promo <> 0 Then StrSql = StrSql & " And ((Stage_Identite.Promo)= " & Sel_Promo & ") "
        If sel_AssuranceAttestation <> 1 Then StrSql = StrSql & " And ((Stage_Identite.Attestation_Assusrance)= " & sel_AssuranceAttestation & ") "
        If Sel_IutStagiaire <> 0 Then StrSql = StrSql & " And ((Etudiant_Identite.Id)= " & Sel_IutStagiaire & ") "
        If Sel_IutStagiaire <> 0 Then StrSql = StrSql & " And ((Etudiant_Identite.Id)= " & Sel_IutStagiaire & ") "
        If Sel_IutTuteur <> 0 Then StrSql = StrSql & " And ((IUT_Tuteur_Identite.Id)= " & Sel_IutTuteur & ") "
        If Sel_EntrepriseIdentite <> 0 Then StrSql = StrSql & " And ((Entreprise_Identite.Id)= " & Sel_EntrepriseIdentite & ") "
        If Sel_EntrepriseActivite <> 0 Then StrSql = StrSql & " And ((ActiviteGroupe_Identite.Id)= " & Sel_EntrepriseActivite & ") "
        If Sel_EntrepriseNbSalarie <> 0 Then StrSql = StrSql & " And ((Fourchette_NombreSalarie.Id)= " & Sel_EntrepriseNbSalarie & ")"
     
        If Sel_EntrepriseTuteur <> 0 Then StrSql = StrSql & " And ((Select Count(*) From Entreprise_Acteur Where Entreprise = Entreprise_Identite.Id And Entreprise_Acteur.Id= " & Sel_EntrepriseTuteur & ") > 0 ) "
        StrSql = StrSql & ");"
     
        If Not Me.Section(0).Visible Then Me.Section(0).Visible = True
     
        Me.RecordSource = StrSql
     
    Exit_bcRecalculer_Click:
        Exit Sub
     
    Err_bcRecalculer_Click:
        MsgBox Err.Description
        Resume Exit_bcRecalculer_Click
    MERCI D'AVANCE POUR VOTRE AIDE! car c'est dur le commencement avec Access, surtout quand on n'y connait pas trop en programmation...^^

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Ce qui est contenu dans la variable strSql est du code SQL (le langage d'interrogation de données)...
    Faut dire que la requête est assez compliqué... (et je suis pas vraiment un pro du SQL ).En fait le code met à jour les données de ton formulaire en fonction des critères que tu as sélectionnés

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    Oui, en fait c'est un bouton de commande qui permet de mettre à jour le formulaire/les données. Et je voudrai créer d'autres boutons de commande à peu près dans le même style, c'est pour cela que j'aimerai savoir comment ce code a été conçu.
    Par exemple, je ne comprends pas pourquoi on met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrSql = StrSql & "SELECT "
    on ne peut pas mettre
    Mais quand même merci supersnail ^^.

  4. #4
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Effectivement,c'est assez bizarre.. C'est un peu se compliquer la vie

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    Citation Envoyé par myster88 Voir le message
    Oui, en fait c'est un bouton de commande qui permet de mettre à jour le formulaire/les données. Et je voudrai créer d'autres boutons de commande à peu près dans le même style, c'est pour cela que j'aimerai savoir comment ce code a été conçu.
    Par exemple, je ne comprends pas pourquoi on met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrSql = StrSql & "SELECT "
    on ne peut pas mettre
    Mais quand même merci supersnail ^^.
    Tu peux mettre les deux donc....

    La requete agit sur ton formulaire au travers de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordSource = StrSql
    Par contre la reconstruction de la requete SQL est je trouve très propre.
    Il balaie contrôle par contrôle son formulaire pour créer sa requete SQL.
    Bon courage pour la suite

Discussions similaires

  1. [XL-97] Code vba pour bouton modifier
    Par yosra_jemai dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/03/2013, 07h53
  2. [AC-2007] code vba pour bouton création etat
    Par mili972 dans le forum Access
    Réponses: 1
    Dernier message: 30/08/2012, 16h09
  3. [AC-2007] code vba pour bouton en relation avec case oui/non
    Par ivonick dans le forum VBA Access
    Réponses: 4
    Dernier message: 25/05/2011, 13h44
  4. [XL-2007] code vba pour cliquer sur un bouton dans internet explorer
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 20h21
  5. Réponses: 2
    Dernier message: 11/05/2009, 15h25

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