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

Requêtes et SQL. Discussion :

Ouvrir Un Etat Filtrée Via une Liste Déroulante [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 121
    Points : 61
    Points
    61
    Par défaut Ouvrir Un Etat Filtrée Via une Liste Déroulante
    bonjour ;
    j'ai une table (T_Delegation) et une table ( T_Eleve)
    j'ai crée un Etat (ET_Eleve) basé sur T_Eleve
    j'ai crée un formulaire(Listes Des Elèves) dont une liste déroulante(cmbDeleg) basée sur T_Delegation qui filtre l'Etat ET_Eleve selon le choix de délégation.
    pour cela Jai pour la liste déroulante le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_Delegation.iDelegationID, T_Delegation.sDelegationNom
    FROM T_Delegation
    ORDER BY T_Delegation.[iDelegationID];
    et dans le formulaire (Listes Des Elèves) un bouton de filtre (Apercu) qui ouvre l'Etat et qui a pour code :
    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
    Private Sub Apercu_Click()
    On Error GoTo Err_Aperçu_Click
     
        Dim stDocName As String
     
        stDocName = "ET_Eleve"
        stLinkCriteria = "[iDelegationID]=" & Me![cmbDeleg]
        If CurrentProject.AllReports("ET_Eleve").IsLoaded = True Then
    '...alors je le ferme en premier
    DoCmd.Close acReport, "ET_Eleve"
    'Sinon, j'ouvre simplement mon état.
    End If
     
            DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
     
    Exit_Aperçu_Click:
        Exit Sub
     
    Err_Aperçu_Click:
        MsgBox Err.Description
        Resume Exit_Aperçu_Click
     
    End Sub
    jusqu'au la tout va bien mais après je me suis aperçu que je dois ajouter à la liste déroulante le choix de tous les délégations alors j'ai changé le contenu comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_Delegation.iDelegationID AS Id, T_Delegation.sDelegationNom AS Nom , 2 as OrdreTri  FROM T_Delegation UNION SELECT -1 As Id, "Tous Les Delegations" As Nom,     1 As OdreTri  FROM T_Delegation
    ORDER BY OrdreTri, Nom;
    mais quand je choisi "Tous Les Delegations" l'Etat s'affiche sans enregistrements .alors j'ai essayé le code suivant :
    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
    Private Sub Apercu_Click()
    On Error GoTo Err_Aperçu_Click
     
        Dim stDocName As String
     
        stDocName = "ET_Eleve"
        stLinkCriteria = "[iDelegationID]=" & Me![cmbDeleg]
        If CurrentProject.AllReports("ET_Eleve").IsLoaded = True Then
    '...alors je le ferme en premier
    DoCmd.Close acReport, "ET_Eleve"
    'Sinon, j'ouvre simplement mon état.
     
        If Not Me.cmbDeleg.Value = "Tous Les Delegations" Then
                   stLinkCriteria = False
             DoCmd.OpenReport " ET_Eleve", acViewPreview
     
        End If
    Else
     
            DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
    End If
    Exit_Aperçu_Click:
        Exit Sub
     
    Err_Aperçu_Click:
        MsgBox Err.Description
        Resume Exit_Aperçu_Click
     
    End Sub
    mais sans résultat souhaitée.
    aidez moi!
    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 878
    Points : 3 467
    Points
    3 467
    Par défaut
    Bonjour YOUSSEFALAOUIA,

    C'est juste une question de IF...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If CurrentProject.AllReports("ET_Eleve").IsLoaded = True Then
        '...alors je le ferme en premier
        DoCmd.Close acReport, "ET_Eleve"
        'Sinon, j'ouvre simplement mon état. 
        If  Me.cmbDeleg = -1 Then     '-1 étant la valeur que tu as donnée à Tous
                   'Pas besoin de ça stLinkCriteria = False  juste ne pas mettre comme critère
             DoCmd.OpenReport stDocName, acPreview
        Else
             DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
        End if
    End If
    Un turc pour bien voir ton code est de bien l'indenté.

    Bonne journée

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 121
    Points : 61
    Points
    61
    Par défaut
    bonjour Robert1957;
    je suis désolé ca marche plus :
    quand je clic sur le bouton (Apercu) il n'ouvre pas l'Etat sur n'importe qu'il choix.
    voilà le code que j'ai mis :
    Private Sub Apercu_Click()
    On Error GoTo Err_Apercu_Click

    Dim stDocName As String

    stDocName = "ET_Eleve"
    stLinkCriteria = "[iDelegationID]=" & Me![cmbDeleg]
    If CurrentProject.AllReports("ET_Eleve").IsLoaded = True Then
    '...alors je le ferme en premier
    DoCmd.Close acReport, "ET_Eleve"
    'Sinon, j'ouvre simplement mon état.
    If Me.cmbDeleg = -1 Then '-1 étant la valeur que on a donnée à "Toutes Les Délégations"
    DoCmd.OpenReport stDocName, acPreview
    Else
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
    End If
    End If


    Exit_Apercu_Click:
    Exit Sub

    Err_Apercu_Click:
    MsgBox Err.Description
    Resume Exit_Apercu_Click

    End Sub
    Merci

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 878
    Points : 3 467
    Points
    3 467
    Par défaut
    Bonjour YOUSSEFALAOUIA,

    Aucune idée de ce que tu as fait, mais je viens de copier coller le code ici dans ton application et ça fonctionne très bien.
    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
     
    Private Sub Apercu_Click()
    On Error GoTo Err_Apercu_Click
     
        Dim stDocName As String
     
        stDocName = "ET_Eleve"
        stLinkCriteria = "[iDelegationID]=" & Me![cmbDeleg]
        If CurrentProject.AllReports("ET_Eleve").IsLoaded = True Then
            '...alors je le ferme en premier
            DoCmd.Close acReport, "ET_Eleve"
            'Sinon, j'ouvre simplement mon état.
        Else
            If Me.cmbDeleg = -1 Then '-1 étant la valeur que on a donnée à      "Toutes Les Délégations"
                DoCmd.OpenReport stDocName, acPreview
            Else
                DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
            End If
        End If
     
     
    Exit_Apercu_Click:
    Exit Sub
     
    Err_Apercu_Click:
    MsgBox Err.Description
    Resume Exit_Apercu_Click
     
    End Sub
    Voici ta base avec le code

    Bonne journée
    Fichiers attachés Fichiers attachés

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 121
    Points : 61
    Points
    61
    Par défaut
    Bonsoir ;
    Parfois il arrive des choses au qu'elles on ne trouve plus d'explication.
    J'ai effacer le code et je l'ai recopié et ca marche.
    Merci beaucoup.

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

Discussions similaires

  1. [AC-2003] Ouvrir un formulaire via une liste déroulante
    Par Arkandia dans le forum IHM
    Réponses: 14
    Dernier message: 30/01/2013, 22h42
  2. [AC-2010] Ouvrir word via une liste déroulante
    Par Goose- dans le forum VBA Access
    Réponses: 35
    Dernier message: 29/08/2012, 23h52
  3. Filtrer un formulaire via une liste déroulante
    Par pyxosledisciple dans le forum Access
    Réponses: 1
    Dernier message: 21/01/2006, 01h21
  4. [Requête] Tri via une liste déroulante
    Par Burnout dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 09/01/2006, 19h16
  5. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 13h27

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