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 :

Imprimer résultat de recherche


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Imprimer résultat de recherche
    Bonjour à tous,

    Tout d'abord je tenais a prévenir que je suis un débutant, je me suis lancé dans Access pour le besoin d'une association.

    Voici mon problème, je souhaite imprimer le résultat de la listbox après recherches.

    J'ai une seule base de donnée.
    Dans ma page Formulaire (qui me sert de page d'accueil) j'ai mis un moteur de recherches multicritères.

    Voici son 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
    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
     
    'On efface le contenu de la TextBox à après chaque sélection des boutons d'option
    Private Sub CadreOptionRecherche_AfterUpdate()
        TexteRecherche = ""
        TexteRecherche.SetFocus
    End Sub
     
    'Fermeture du formulaire
    Private Sub cmdClose_Click()
        DoCmd.Close acForm, "Formulaire1"
    End Sub
     
    Private Sub Form_Load()
        TexteRecherche.SetFocus
    End Sub
     
    Private Sub ListeResultatRecherche1_AfterUpdate()
    Me.Requery
    Me.Refresh
    End Sub
     
    Private Sub ListeResultatRecherche1_DblClick(Cancel As Integer)
     
        'Déclaration des variables
        Dim RowNumber As Integer
        Dim varID, varNom1, varNom2, varNom3, varNom4, varNom5, varNom6
        'Dim Reponse As Integer
     
        'Affectation des variables
        RowNumber = Me.ListeResultatRecherche1.ListIndex + 1
        varID = ListeResultatRecherche1.Column(0, RowNumber)
        varNom1 = ListeResultatRecherche1.Column(1, RowNumber)
        varNom2 = ListeResultatRecherche1.Column(2, RowNumber)
        varNom3 = ListeResultatRecherche1.Column(3, RowNumber)
        varNom4 = ListeResultatRecherche1.Column(4, RowNumber)
        varNom5 = ListeResultatRecherche1.Column(5, RowNumber)
        varNom6 = ListeResultatRecherche1.Column(6, RowNumber)
     
         DoCmd.OpenForm "F_Enregistrement_Modif", acNormal, , "[N°ID]=" & ListeResultatRecherche1.Column(0), , acDialog
     
    End Sub
     
    Private Sub TexteRecherche_Change()
     
        If CadreOptionRecherche = 1 Then 'Recherche
            strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "FROM Table_DataBase " & _
                           "WHERE [Nom1] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 2 Then 'Recherche
            strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "FROM Table_DataBase " & _
                           "WHERE [Nom2] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 3 Then 'Recherche
            strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "FROM Table_DataBase " & _
                           "WHERE [Nom3] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 4 Then 'Recherche
            strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "FROM Table_DataBase " & _
                           "WHERE [Nom4] like '*" & Me.TexteRecherche.Text & "*'"
        Else    ' Recherche
            strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "FROM Table_DataBase " & _
                           "WHERE [Nom5] like '*" & Me.TexteRecherche.Text & "*'"
        End If
     
        ListeResultatRecherche1.RowSource = strRowSource
     
    End Sub
     
    'Chargement des informations de la table dans la ListBox sur clic du Champ txtCherche
    Private Sub TexteRecherche_Click()
     
    strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "From Table_DataBase"
     
    ListeResultatRecherche1.RowSource = strRowSource
     
    End Sub
    J'ai créer une Requête et un Etat pour l'impression.

    Je n'arrive pas à faire la liaison entre les résultats de mon formulaire et que ma requête enregistre après l'actualisation.
    En gros je souhaite après une recherche lorsque je clique sur le bouton "Imprimer" je puisse avoir l'aperçu et l'impression de la listbox.

    Est-ce que quelqu'un pourrait me montrer comment faire, svp ?

  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.

    Je te sugère les modification suivantes :

    en supposant que CadreOptionRecherche vaille toujours entre 1 et 6

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub TexteRecherche_Change()
        dim strRowSource 
        strRowSource = "SELECT [N°ID],[Nom1],[Nom2],[Nom3],[Nom4],[Nom5],[Nom6]" & "FROM Table_DataBase WHERE"
     
        dim strCritere as string
        strCritere=CalculerCritere
     
        ListeResultatRecherche1.RowSource = strRowSource & strCritere
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private function CalculerCritere() as string
        CalculerCritere= "[Nom" & me.CadreOptionRecherche & "] like '*" & Me.TexteRecherche.Text & "*'"
    end function
    Après tu peux créer un rapport (état) basé sur ta source (en utilisant l'assistant, ça simplifie grandement les choses).

    et pour la commande d'ouverture tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim strCritere as string
    strCritere=CalculerCritere
    docmd.openreport "TonRapport", , , , strCritere
    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
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    Déjà merci de prendre le temps de me répondre, vraiment sympa.

    Pour la Function, les noms des champs Nom1, Nom2 etc était un exemple, je ne voulais pas donner les vraies noms. Du coup si je veux Nom, Ville, Circo, Prenom, etc... comment je modifie ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private function CalculerCritere() as string
        CalculerCritere= "[Nom" & me.CadreOptionRecherche & "] like '*" & Me.TexteRecherche.Text & "*'"
    end function

  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
    Bonjour.

    Tu pourrais essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private function CalculerCritere() as string
        dim listeNomChamp() as variant
        listeNomChamp=array(me.Nom.name, me.Ville.name, me.Circo.name, me.prenom.name, ...) 'Tous les champs nécessaires, dans l'ordre de CadreOptionRecherche 
        CalculerCritere= "[" & listeNonChamp(me.CadreOptionRecherche - 1) & "] like '*" & Me.TexteRecherche.Text & "*'"
    end function
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private function CalculerCritere() as string
     
          select case 
               case 1
                   CalculerCritere= "[Nom] like '*" & Me.TexteRecherche.Text & "*'"
               case 2
                   CalculerCritere= "[Vile] like '*" & Me.TexteRecherche.Text & "*'"
               'ici un case jusqu'à 4
               case else
                   'Aucas où il manque un case
                   call err.raise(5,,eror$(5) & " - Option de recherche inconnue")
        end select
     
    end function
    La 1ère solution est plus compacte et plus simple à faire évoluer mais la 2nde peut être plus compréhensible.
    Peu importe le code, l'important c'est que CalculerCritere te retourne les critères de sélection pour pouvoir les réutiliser à l'ouverture du rapport.

    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
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    Alors j'ai fait des tests et encore des tests mais rien ne fonctionne.

    Je remet mes codes en plus clair

    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
     
     
    Option Compare Database
     
    'On efface le contenu de la TextBox à après chaque sélection des boutons d'option
    Private Sub CadreOptionRecherche_AfterUpdate()
        TexteRecherche = ""
        TexteRecherche.SetFocus
    End Sub
     
    'Fermeture du formulaire
    Private Sub cmdClose_Click()
        DoCmd.Close acForm, "Formulaire1"
    End Sub
     
    Private Sub Form_Load()
        TexteRecherche.SetFocus
    End Sub
     
    Private Sub ListeResultatRecherche1_AfterUpdate()
    Me.Requery
    Me.Refresh
    End Sub
     
    Private Sub ListeResultatRecherche1_DblClick(Cancel As Integer)
     
        'Déclaration des variables
        Dim RowNumber As Integer
        Dim varID, varTruc, varNom, varPrenom, varMatri, varBidule, varMachin
     
        'Affectation des variables
        RowNumber = Me.ListeResultatRecherche1.ListIndex + 1
        varID = ListeResultatRecherche1.Column(0, RowNumber)
        varTruc = ListeResultatRecherche1.Column(1, RowNumber)
        varNom = ListeResultatRecherche1.Column(2, RowNumber)
        varPrenom = ListeResultatRecherche1.Column(3, RowNumber)
        varMatri = ListeResultatRecherche1.Column(4, RowNumber)
        varBidule = ListeResultatRecherche1.Column(5, RowNumber)
        varMachin = ListeResultatRecherche1.Column(6, RowNumber)
     
        'Ouverture Formulaire de la sélection
        DoCmd.OpenForm "F_Enregistrement_Modif", acNormal, , "[N°ID]=" & ListeResultatRecherche1.Column(0), , acDialog
     
    End Sub
     
    Private Sub TexteRecherche_Change()
     
        If CadreOptionRecherche = 1 Then 'Recherche des Truc
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Grade] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 2 Then 'Recherche des Nom
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Nom] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 3 Then 'Recherche des Matri
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Matri] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 4 Then 'Recherche des Bidule
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Bidule] like '*" & Me.TexteRecherche.Text & "*'"
        Else    ' Recherche des Machin
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Machin] like '*" & Me.TexteRecherche.Text & "*'"
        End If
     
     
        ListeResultatRecherche1.RowSource = strRowSource
     
    End Sub
     
     
    'Chargement des informations de la table dans la ListBox sur clic du Champ txtCherche
    Private Sub TexteRecherche_Click()
     
    strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "From Table_DataBase"
     
    ListeResultatRecherche1.RowSource = strRowSource
     
    End Sub
    Mon moteur de recherche a ce stade fonctionne parfaitement. (j'ai l'exemple du moteur de recherche en vidéo, du tutoriel, si besoin)

    Le nom de mon Etat pour imprimer se nomme "E_Imprimer".

    Dans ma base j'ai 220 lignes en test, à chaque fois l'état m'affiche les 220 lignes et non pas le résultat affiché dans la listbox.

    Je n'ai pas tout saisie à mon avis.

  6. #6
    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.

    Apparement c'est le même code que dans ton 1er post donc c'est normal que tu n'obtiennes pas de données filtrées.

    Peux-tu poster le code modifié comme suggéré dans mes posts et indiquer où il ne fonctionne pas ?

    Et s'il te plait quand tu postes du code, sépare les procédures au lieu de faire un seul gros morceau de code.
    Ca facilite la lecture de ton texte en permettant d'aller directement au code pertinent.

    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.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Alors, pour la partie TexteRecherche_Change je ne peux mettre ton code entier car sinon mon moteur de recherche ne fonctionne plus.

    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 TexteRecherche_Change()
        Dim strRowSource
        Dim strCritere As String
     
        If CadreOptionRecherche = 1 Then 'Recherche 
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Truc] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 2 Then 'Recherche
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Nom] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 3 Then 'Recherche
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Matri] like '*" & Me.TexteRecherche.Text & "*'"
        ElseIf CadreOptionRecherche = 4 Then 'Recherche 
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Bidule] like '*" & Me.TexteRecherche.Text & "*'"
        Else    ' Recherche 
            strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase " & _
                           "WHERE [Machin] like '*" & Me.TexteRecherche.Text & "*'"
        End If
     
            strCritere = CalculerCritere
     
        ListeResultatRecherche1.RowSource = strRowSource & strCritere
    End Sub
    Pour la partie function, j'ai une erreur sur eror& je l'ai donc mis en commentaire
    La function n'a aucune incidence, aucune réaction, même si je l'efface du code, cela reste pareil, comme si le code Function n'existe pas.

    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 Function CalculerCritere() As String
     
          Select Case CalculerCritere
               Case 1
                   CalculerCritere = "[Truc] like '*" & Me.TexteRecherche.Text & "*'"
               Case 2
                   CalculerCritere = "[Nom] like '*" & Me.TexteRecherche.Text & "*'"
               Case 3
                   CalculerCritere = "[Matri] like '*" & Me.TexteRecherche.Text & "*'"
               Case 4
                   CalculerCritere = "[Bidule] like '*" & Me.TexteRecherche.Text & "*'"
               Case 5
                   CalculerCritere = "[Machin] like '*" & Me.TexteRecherche.Text & "*'"
     
               'ici un case jusqu'à 4
               'Case Else
                   'Aucas où il manque un case
                'Call Err.Raise(6, , eror&(6) & " - Option de recherche inconnue")
     
        End Select
     
    End Function
    Pour la partie TexteRecheche_Click

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub TexteRecherche_Click()
     
    strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matric],[Bidule],[Machin]" & "From Table_DataBase"
     
    ListeResultatRecherche1.RowSource = strRowSource & strCritere
     
    End Sub
    Et pour finir j'ai créé un bouton pour appeler l'état, il s'ouvre mais reste vide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Bouton_E_Imprimer_Click()
    Dim strCritere As String
    strCritere = CalculerCritere
     
    DoCmd.OpenReport "E_Imprimer", acViewPreview, , strCritere
     
    End Sub
    Je précise que mon moteur de recherche est du style auto, lorsque je tape une lettre cela recherche immédiatement, je n'ai pas besoin de taper entrer ou de sélectionner quoi que ce soit.
    Cela aurait-il une incidence pour "enregistrer" les résultats ?

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    peux-tu poster ta base (compressée au format .zip ou .rar) ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Je ne peut pas poster en l'état ma base puisqu'il y a toutes les infos personnelles de client.
    Il faut que je vide tout ?

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    je peux me débrouiller avec 2 ou 3 enregistrements avec anonymisation des données sensibles, inutile de mettre tous les objets, il me faut juste le formulaire, la requête ou la ou les tables associées et éventuellement le module associé si il y en a un.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Voilà pour le test, Merci
    Fichiers attachés Fichiers attachés

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour CoYaN,
    le dysfonctionnement se situait dans cette instruction : ListeResultatRecherche1.RowSource = strRowSource & strCritere dans le Sub TexteRecherche_Change(), la clause WHERE étant déjà chargée dans strRowSource, il ne fallait pas l'ajouter une 2ème fois avec strCritere.
    j'en ai profité pour optimiser le code qui contient, du coup, beaucoup moins de lignes.

    Concernant l'état, comme il n' y avait pas de bouton dans le formulaire, je l'ai créé pour tester: tout fonctionne à présent.
    ci joint la base modifiée:
    BaseCoYaN.rar
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    tee_grandbois un très grand MERCI, depuis le temps que j’essayai différentes manières.

    Merci également à marot_r d'avoir pris le temps de m'aider.

    Cela fait plaisir de voir des passionnés aider les néophytes comme moi. Merci et surtout un merci général au Forum, continuez comme cela

  14. #14
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    merci.
    une nouvelle version du code encore plus optimisé:
    J'ai ajouté un paramètre à la fonction CalculerCritere() qui contient, soit le texte saisi sur l'évènement Change de TexteRecherche, soit la valeur de TexteRecherche sur l'évènement Click du bouton Bouton_E_Imprimer
    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
    Private Function CalculerCritere(pValCtrl As String) As String
     ' Paramètre pValCtrl
     ' Valeur ou texte du contrôle TexteRecherche
     
        Select Case Me.CadreOptionRecherche
           Case 1
               CalculerCritere = "[Truc] like '*" & pValCtrl & "*'"
           Case 2
               CalculerCritere = "[Nom] like '*" & pValCtrl & "*'"
           Case 3
               CalculerCritere = "[Matri] like '*" & pValCtrl & "*'"
           Case 4
               CalculerCritere = "[Bidule] like '*" & pValCtrl & "*'"
           Case 5
               CalculerCritere = "[Machin] like '*" & pValCtrl & "*'"
           Case Else
                CalculerCritere = ""
        End Select
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub TexteRecherche_Change()
        Dim strRowSource As String
        Dim strCritere As String
        strRowSource = "SELECT [N°ID],[Truc],[Nom],[Prenom],[Matri],[Bidule],[Machin]" & "FROM Table_DataBase "
     
        ' Chargement critère d'après le texte du champ TexteRecherche 
        strCritere = CalculerCritere(Me.TexteRecherche.Text)
     
        ListeResultatRecherche1.RowSource = strRowSource & " WHERE " & strCritere
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Bouton_E_Imprimer_Click()
    Dim strCritere As String
     
    ' Chargement critère d'après la valeur du champ TexteRecherche
    strCritere = CalculerCritere(Me.TexteRecherche)
     
    DoCmd.OpenReport "E_Imprimer", acViewPreview, , strCritere
     
    End Sub
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Je viens de nouveau effectuer les modifications, MERCI

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/02/2007, 14h18
  2. Réponses: 4
    Dernier message: 11/12/2006, 15h55
  3. [TP] Affichage résultat de recherche de fichier
    Par vladock dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 18/09/2006, 20h13
  4. [MySQL] SQL et résultat de recherche par mot clef
    Par carelha dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/04/2006, 15h40
  5. problème avec résultat de recherche multi-critères
    Par audrey_desgres dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 11h00

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