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

Access Discussion :

access- formulairede recherche multicritère - Liste déroulante et affichage du résultat qui n'apparaissent pas [AC-2016]


Sujet :

Access

  1. #1
    Candidat au Club
    Femme Profil pro
    Chef de projet géomatique et autres
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet géomatique et autres
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut access- formulairede recherche multicritère - Liste déroulante et affichage du résultat qui n'apparaissent pas
    Bonjour tous,
    J'espère ne pas m'être trompée en plaçant ma question là, mais je me suis appuyée sur le tuto proposé par caféine pour développer une recherche multicritères sur une table (Merci beaucoup d'ailleurs caféine!!!), je pense avoir suivi à la lettre le tuto, mais vu que cela ne fonctionne pas correctement, j'ai dû me tromper quelquepart mais où ??? D'où demande d'aide.

    J'ai 8 champs : 4 au format txt et 4 qui sont des combo.
    Une seule des combo affiche la liste déroulante avec des propositions visibles, les 3 autres se déroulent, je peux sélectionner une des lignes, mais je ne vois rien qui s'affiche en réalité dans la liste déroulante. Par contre quand j'ai sélectionné un choix les stats se mettent à jour. Mais dans la lst résultat je n'ai rien... je ne peux sélectionner que la première ligne de la liste résultat qui m'ouvre invariablement la première fiche de la table. Les txt marchent bien, mais pareil, rien ne s'affiche dans la zone de résultats et je ne peux cocher que la première ligne.
    j'ai épluché différentes discussions, essayer de faire passer un debug.print, et tenter de suivre le tuto débogage de caféine (je crois que j'ai encore beaucoup de choses à apprendre) mais rien n'y fais je ne trouve pas. Mon souci maintenant est qu'à force d'essayer de trouver la solution, je tourne en boucle.
    Quelqu'un pourrait-il m’aider ?

    A tous bonne journée

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Désolé mais je ne saisi pas bien où est ton problème.

    1. Tu as des listes déroulantes et elles n'affichent pas de valeur ?
    2. Ou tu as des listes déroulantes qui affichent des valeurs que tu ne peux pas sélectionner ?
    3. Ou tout ce passe bien avec les listes mais tu n'as aucun résultat affiché une fois ta sélection faite ?


    Une copie d'écran aiderai peut-être à la compréhension.

    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
    Candidat au Club
    Femme Profil pro
    Chef de projet géomatique et autres
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet géomatique et autres
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour marot_r
    donc je suis dans le cas 1 et 3
    j'ai une liste où les valeurs s'affichent
    Nom : 2018-06-15_15h40_29.png
Affichages : 502
Taille : 12,4 Ko

    et 3 où les valeurs ne s'affichent pas mais qui semblent bien présentes
    Nom : 2018-06-15_15h40_40.png
Affichages : 470
Taille : 6,7 Ko

    et enfin une fois que j'ai fait mes sélections pour demander le résultat rien ne s'affiche mais je peux tout de même cliquer sur la "première ligne" pour ouvrir au final toujours la même fiche
    Nom : 2018-06-15_15h46_06.png
Affichages : 472
Taille : 6,2 Ko

    merci

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    OK, c'est plus clair.

    Pour les listes "blanches", est-ce qu'elles dépendent des valeurs d'autres champs ou listes ?

    Aussi, vérifie les propriétés Nombre de colonne et Largeur des colonnes.
    Et si tu as des colonnes dont la largeur est 0 met temporairement 1cm histoire de voir si elles contiennent des données et quelles données.

    Pour le résultat vide, cela vient probablement d'une combinaison de critères qui font qu'aucune des tes données ne correspond.

    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.

  5. #5
    Candidat au Club
    Femme Profil pro
    Chef de projet géomatique et autres
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet géomatique et autres
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Les listes dépendent de valeurs directement incrémentées dans la colonne concernée... ce qui est le cas de celle qui fonctionne et des autres qui ne marchent pas... je n'ai dons qu'une colonne (par acquis de conscience j'avais trouvé cette solution de largeur que j'avais testé sans réussir)

    je mets le code complet pour le cas où... pour info : on va dire que je me débrouille un peu (comme une débutante) avec le VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Option Compare Database
     
    Private Sub chketat_Click()
     
    If Me.chketat Then
        Me.cmbetat.Visible = False
    Else
        Me.cmbetat.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub chkfinanceur_Click()
     
    If Me.chkfinanceur Then
        Me.cmbfinanceur.Visible = False
    Else
        Me.cmbfinanceur.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub chknum_Click()
    If Me.chknum Then
        Me.txtnum.Visible = False
    Else
        Me.txtnum.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub chkobj_Click()
    If Me.chkobj Then
        Me.txtobj.Visible = False
    Else
        Me.txtobj.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub chksource_Click()
     
    If Me.chksource Then
        Me.cmbsource.Visible = False
    Else
        Me.cmbsource.Visible = True
    End If
     
    RefreshQuery
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub chktitre_Click()
     
    If Me.chktitre Then
        Me.txttitre.Visible = False
    Else
        Me.txttitre.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub chkgdtheme_Click()
     
    If Me.chkgdtheme Then
        Me.cmbgdtheme.Visible = False
    Else
        Me.cmbgdtheme.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub chksstheme_Click()
     
    If Me.chksstheme Then
        Me.cmbsstheme.Visible = False
    Else
        Me.cmbsstheme.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmbetat_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmbfinanceur_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmbsource_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmbgdtheme_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmbsstheme_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    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
    Private Sub Form_Load()
     
    Dim ctl As Control
     
    For Each ctl In Me.Controls
        Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = -1
     
            Case "lbl"
                ctl.Caption = "- * - * -"
     
            Case "txt"
                ctl.Visible = False
                ctl.Value = ""
     
            Case "cmb"
                ctl.Visible = False
     
        End Select
    Next ctl
     
    Me.lstresults.RowSource = "SELECT CodFicheTblGenerale,NumeroFicheTblGenerale, NomFicheTblGenerale, GrandsThemesTblGenerale, SousThemesTblGenerale, ObjectifsTblGenerale, FinanceurTblGenerale, SourceTblGenerale, EtatFinancementTblGenerale, FROM TblGenerale"
    Me.lstresults.Requery
     
    End Sub
    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
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "SELECT CodFicheTblGenerale, NumeroFicheTblGenerale, NomFicheTblGenerale, GrandsThemesTblGenerale, SousThemesTblGenerale, ObjectifsTblGenerale, FinanceurTblGenerale, SourceTblGenerale, EtatFinancementTblGenerale, FROM TblGenerale Where TblGenerale!CodFicheTblGenerale <> 0 "
     
    If Not Me.chknum Then
        SQL = SQL & "And TblGenerale!NumeroFicheTblGenerale like '*" & Me.txtnum & "*' "
    End If
     
    If Not Me.chktitre Then
        SQL = SQL & "And TblGenerale!NomFicheTblGenerale like '*" & Me.txttitre & "*' "
    End If
     
    If Not Me.chketat Then
        SQL = SQL & "And TblGenerale!EtatFinancementTblGenerale = '" & Me.cmbetat & "' "
    End If
     
    If Not Me.chkfinanceur Then
        SQL = SQL & "And TblGenerale!FinanceurTblGenerale = '" & Me.cmbfinanceur & "' "
    End If
     
    If Not Me.chksource Then
        SQL = SQL & "And TblGenerale!SourceTblGenerale = '" & Me.cmbsource & "' "
    End If
     
    If Not Me.chkgdtheme Then
        SQL = SQL & "And TblGenerale!GrandsThemesTblGenerale = '" & Me.cmbgdtheme & "' "
    End If
     
    If Not Me.chksstheme Then
        SQL = SQL & "And TblGenerale!SousThemesTblGenerale = '" & Me.cmbsstheme & "' "
    End If
     
    If Not Me.chkobj Then
        SQL = SQL & "And TblGenerale!ObjectifsTblGenerale like '*" & Me.txtobj & "*' "
    End If
     
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblstats.Caption = DCount("*", "TblGenerale", SQLWhere) & " / " & DCount("*", "TblGenerale")
    Me.lstresults.RowSource = SQL
    Me.lstresults.Requery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub lstresults_DblClick(Cancel As Integer)
     
    DoCmd.OpenForm "FrmResultRech", acNormal, , "'[CodFicheTblGenerale] = '" & Me.lstresults
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub txtnum_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub txttitre_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub txtobj_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Pourrais-tu mettre un extrait de ta base avec des données "bidons" afin de mieux matérialiser ton problème ?
    Je pense qu'on pourra t'aider plus efficacement
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    à priori le code n'a rien à voir avec tes problèmes. Il se contente d'appliquer le filtre au fur et à mesure de tes choix.

    Si tu pouvais poster le SQL des listes qui ne donnent rien, ce serait très utile.

    Pour faire cela, tu vas dans la proriété contenu de ta liste.
    Si c'est déjà du SQL (ex : select TaTable* from TaTable) rien de plus à faire que de le copier et le coller.
    Si c'est une requête enregistrée alors ouvre l'éditeur de requête, et change l'affichage (en haut à gauche) pour SQL.

    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.

  8. #8
    Candidat au Club
    Femme Profil pro
    Chef de projet géomatique et autres
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet géomatique et autres
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    bonjour
    merci pour vos réponses, je vous envoie les captures demain. Je n'ai pas mon travail avec moi.

  9. #9
    Candidat au Club
    Femme Profil pro
    Chef de projet géomatique et autres
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet géomatique et autres
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    je vous mets en pj. la base (j'ai modifié les infos dedans mais n'ai pas touché la structure.... )
    J'ai regardé pour les contenus de mes champs qui ne fonctionnent pas et je ne trouve rien, (probablement les yeux qui se touchent).
    Sinon je me suis trompée dans la structure : j'ai trois champs avec une saisie libre (n° fiche, titre et objectifs) et cinq champs avec liste déroulante (grand thème, sous thème, financeur, source, et état)

    en tout cas merci pour votre aide
    Fichiers attachés Fichiers attachés

  10. #10
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Je te joins ta base dans laquelle, j'ai repris ta base sur deux listes déroulantes pour l'exemple.
    Grand Theme et Sous Theme

    J'ai recréé les tables en fonction de la redondance des infos.
    Ainsi, j'ai créé une table T_Themes et une T_SsThemes

    A voir si ça va dans ton sens
    Fichiers attachés Fichiers attachés
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  11. #11
    Candidat au Club
    Femme Profil pro
    Chef de projet géomatique et autres
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet géomatique et autres
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    merci pour ton aide, j’avais commencé à le faire comme cela et puis j'ai laissé tomber ...
    j'ai de mon côté continué à chercher, et repris encore une fois le formulaire mais également ma table générale. Il se trouve que visiblement les champs de type texte long fichent le bazar. J'ai passé ceux-là en texte court. Et ça plus la reprise du formulaire avec des changements sur les saisies pour faire moins long ont aidé. Maintenant cela marche.

    je vous souhaite une belle journée!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/10/2017, 02h29
  2. [AC-2003] formulaire Recherche multicritère - liste déroulante/Requête
    Par kichnifou dans le forum IHM
    Réponses: 6
    Dernier message: 03/05/2011, 13h27
  3. Réponses: 1
    Dernier message: 13/08/2008, 17h06
  4. Réponses: 7
    Dernier message: 31/08/2006, 14h11
  5. recherche par liste déroulante dans un formulaire
    Par toto10 dans le forum Access
    Réponses: 13
    Dernier message: 07/07/2006, 16h49

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