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

IHM Discussion :

Formulaire de recherche (VBA) basé sur plusieurs tables [AC-2013]


Sujet :

IHM

  1. #1
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut Formulaire de recherche (VBA) basé sur plusieurs tables
    Bonjour à tous,


    J'ai réussit à en créer plusieurs basés sur une table unique grâce à des explications que j'ai adapté, mais je sèche dès lors que plusieurs tables sont concernées. Clairement à cause d'un manque de connaissance sur TOUTES les lignes à ajouter/modifier...

    Voici un exemple de code fonctionnel:
    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
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
     
    Option Compare Database
    Option Explicit
     
    Private Sub ChkDatePaiement_Click()
     
    If Me.ChkDatePaiement Then
        Me.TxtRechDatePaiement.Visible = False
    Else
        Me.TxtRechDatePaiement.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub ChkModePaiement_Click()
     
    If Me.ChkModePaiement Then
        Me.TxtRechModePaiement.Visible = False
    Else
        Me.TxtRechModePaiement.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub ChkNom_Click()
     
    If Me.ChkNom Then
        Me.TxtRechNom.Visible = False
    Else
        Me.TxtRechNom.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub ChkID_Facture_Click()
     
    If Me.ChkID_Facture Then
        Me.TxtRechID_Facture.Visible = False
    Else
        Me.TxtRechID_Facture.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
     
     
    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 = ""
     
     
        End Select
    Next ctl
     
    Me.lstResults.RowSource = "SELECT T_Factures.ID_Facture AS N°Facture, T_Factures.ID_Client, T_Factures.Date_Paiement AS [Date de paiement], T_Factures.Mode_de_paiement AS [Mode de paiement] FROM T_Clients INNER JOIN T_Factures ON T_Clients.ID_Client = T_Factures.ID_Client;"
    Me.lstResults.Requery
     
    End Sub
     
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "SELECT T_Factures.ID_Facture AS N°Facture, T_Factures.ID_Client, T_Factures.Date_Paiement AS [Date de paiement], T_Factures.Mode_de_paiement AS [Mode de paiement] FROM T_Clients INNER JOIN T_Factures ON T_Clients.ID_Client = T_Factures.ID_Client Where T_Factures!ID_Facture <> 0 "
     
    If Not Me.ChkDatePaiement Then
        SQL = SQL & "And T_Factures!Date_Paiement like '*" & Me.TxtRechDatePaiement & "*' "
    End If
    If Not Me.ChkModePaiement Then
        SQL = SQL & "And T_Factures!Mode_de_paiement like '*" & Me.TxtRechModePaiement & "*' "
    End If
    If Not Me.ChkNom Then
        SQL = SQL & "And T_Factures!ID_Client like '*" & Me.TxtRechNom & "*' "
    End If
    If Not Me.ChkID_Facture Then
        SQL = SQL & "And T_Factures!ID_Facture like '*" & Me.TxtRechID_Facture & "*' "
    End If
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "T_Factures", SQLWhere) & " / " & DCount("*", "T_Factures")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
     
     
    Private Sub lstResults_DblClick(Cancel As Integer)
     
    DoCmd.OpenForm "S/F_Factures", acNormal, , "[ID_Facture] = " & Me.lstResults
    DoCmd.Close acForm, "F_Recherche_Facture"
     
    End Sub
     
    Private Sub TxtRechNom_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub TxtRechDatePaiement_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub TxtRechModePaiement_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub TxtRechID_Facture_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
    Mon soucis est que plutôt que de faire afficher les "ID_Client", je préfèrerais faire afficher leurs noms voir leurs noms ET prénoms ou/et encore leurs entreprises (pour les clients pro.). Ces données étant contenues dans une table T_Clients qui est en relation via intégrité référentielle avec la table T_factures via les "ID_Client" présents dans les 2 tables. (je pourrais faire ajouter dans ma table T_Factures les informations voulues, mais je pense que cela est redondant et probablement évitable, à vous de me dire...).
    J'ai déjà essayé de remplacé T_Factures.ID_Client par T_Clients.Nom dans les requêtes et les contrôles de saisie; les noms s'affichent correctement mais lorsque je tente d'activer un contrôle associé à ces derniers, j'ai une erreur ici:
    Me.lblStats.Caption = DCount("*", "T_Factures", SQLWhere) & " / " & DCount("*", "T_Factures")
    Je suppose qu'en toute logigue c'est parce que ma table T_Clients n'apparait pas mais je ne sais pas comment l'écrire ET hélas je ne sais pas non plus si il y a des autres lignes à modifier.



    Merci;
    à bientôt.

  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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Vois à cette adresse, si dans ton cas, l'approche n'est pas plus simple : http://claudeleloup.developpez.com/t...-multicritere/
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Bonjour Claude,

    Merci pour le lien, il me semble parfait pour l'utilisation que je recherche.
    Je referais mon formulaire intégralement dès que j'ai un instant et je reviendrais posté ici si je devais rencontré une quelconque difficulté.

    A bientôt.

  4. #4
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Rebonjour Claude,



    J'ai donc refais mon formulaire, félicitations pour ton article, c'était très clair!


    Tout fonctionne, mais... J'aurais voulu ajouter une champs dans la recherche qui correspond à une zone de texte contenue dans un sous formulaire d'un sous formulaire qui lui est directement concerné par notre formulaire de recherche.

    Concrètement:
    Les formulaires F_Client_Facturation, S/F_Factures, S/F_Factures_Détails, les 3 basés sur les tables associées (T_Clients, T_Factures...).
    Dans mon S/F_Factures_Détails se trouvent une zone de texte contenant un total facture.
    Mon formulaire de recherche porte sur T_Clients.Nom, T_Factures.ID_Facture, T_Factures.ModePaiement et T_Factures.Date.
    Je souhaite donc ajouter une sélection dans ma recherche pour obtenir l'information supplémentaire Total_Facture.

    J'avais pensé créer une zone de texte et mettre en contenu:
    =[Formulaires]![S/F_Factures]![S/F_Factures_Détails]![Total_TTC]
    Mais j'obtiens une erreur #NOM?
    Je sais que j'ai encore un peu de mal quand il s'agit de pointer une donnée, donc... cela ne m'étonnerait pas que le chemin soit simplement faux...


    Merci,
    A bientôt.

  5. #5
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,


    D'après tes explications, la syntaxe devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!F_Client_Facturation.form![S/F_Factures].Form![S/F_Factures_Détails].Form![Total_TTC]

    qui se transformera en version française :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Formulaires!F_Client_Facturation.formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire![Total_TTC]
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #6
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Bonjour Claude,
    Merci pour ta réponse.

    J'ai essayé d'insérer cette ligne en source de ma zone de texte, mais j'obtiens toujours l'erreur #NOM?
    =Formulaires!F_Client_Facturation.formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire![Total_TTC]

    Je ne vois pas trop ou est l'erreur.... Les noms de formulaires et le nom de champ semblent pourtant juste.


    A bientôt

  7. #7
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    On s'est mal compris je pense (ou plutôt j'ai du mal m'exprimé)

    Je ne cherche pas à faire afficher la valeur dans le formulaire F_Client_Facturation (la, effectivement la ligne fonctionne) mais dans le formulaire de recherche que j'ai créé en suivant ton article. Peut être dois-je nécessairement faire afficher cette valeur dans le F_Client_Facturation au préalable?
    Si oui, j'ai donc essayé de mettre en source dans la zone de texte de mon formulaire de recherche ceci:
    =[Formulaires]![F_Clients_Facturation]![Texte30]
    Mais je suis confronté cette fois ci à #Erreur...


    Merci pour ton aide.
    A bientôt.

  9. #9
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Peux-tu poster une db en format Access2000, avec tes données : ce sera plus clair.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  10. #10
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Merci pour ta disponibilité et ta rapidité.


    Travaillant sous AC-2013, j'ai constamment des soucis pour convertir en version 2000 car j'utilise beaucoup de fonctions nouvelles propre aux nouvelles versions...
    Je poste donc des impressions d'écran pour décrire en espérant que cela conviendra.

    Nom : img1.png
Affichages : 126
Taille : 90,5 Ko
    Nom : img2.png
Affichages : 135
Taille : 83,9 Ko

    Sur la première image, mon formulaire de facturation. Entouré en bleu, la zone de texte (Total_TTC) que je souhaite faire afficher dans mon formulaire de recherche. On notera que la zone de texte (texte 30) est fonctionnelle; c'est à dire que le chemin: =Formulaires!F_Client_Facturation.formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire![Total_TTC] Fonctionne dans le formulaire de facturation.

    Sur la seconde mon formulaire de recherche créé grâce à ton article. La zone de texte entourée en bleue est l'endroit ou je souhaite faire afficher la valeur de la zone de texte Total_TTC du S/F_Factures_Détails (lui même sous formulaire de S/F_Factures et lui même sous formulaire de F_Clients_Facturation). Si j'entre le chemin:
    =Formulaires!F_Client_Facturation.formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire![Total_TTC] J'obtiens l'erreur #Nom?
    J'ai donc pensé à tenter de faire afficher le texte 30 (qui n'est présent que pour des tests) présent dans mon F_Facturation mais la encore si j'entre le chemin:
    =[Formulaires]![F_Clients_Facturation]![Texte30] J'ai une erreur #Erreur.

  11. #11
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Je ne comprends pas ce que tu veux faire.

    Imagine que le total dont tu parles est 1.234,56 dans le contrôle [Total_TTC] de S/F_Factures_Détails, peux-tu me dire quel type de question tu voudrais poser dans formulaire de recherche.

    Quoi qu’il en soit, c’est soit
    - sur la ligne Champ de la requête rRecherche



    - sur la ligne Critères




    que tu dois inscrire la référence du champ, selon que c’est par rapport à lui que tu veux comparer ton filtre, ou si c’est ton filtre que tu veux comparer à lui.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  12. #12
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    C'est bien plus simple que cela, je ne cherche pas à filtrer ma valeur mais juste à la faire affichée.
    En gros mon formulaire de recherche me permet de voir le total associé à chaque facture; total associé qui est donc égal à Total_TTC de mon formulaire F_Clients_Facturation (Et plus précisément de mon S/F_Factures_Détails). Mais je n'arrive simplement pas à dire:
    [Total_Form_Recherche] = [Total_TTC] (J'ai essayé toutes les lignes dont nous avons parlés précédemment).

  13. #13
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Je m'y perds !

    Résumons.

    - Tu as un formulaire F_Clients_Facturation.
    Lorsque ce formulaire est ouvert, il affiche pour une facture le total TTC.
    La syntaxe pour obtenir le contenu du contrôle [Total_TTC] est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Formulaires!F_Client_Facturation.formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire![Total_TTC]
    - Tu as un autre formulaire F_Recherche_Facture qui est censé te permettre de rechercher des factures selon des critères.

    À part qu'il s'agit de factures, ces deux formulaires n'ont rien à voir l'un avec l'autre.

    Ce que tu veux : c'est afficher dans le 2e le montant TTC actuellement affiché dans le 1er ?
    Si c'est ça, l'idée me paraît bizarre.

    Toujours est-il que, si c'est ce que tu veux, la source contrôle de ce champ serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![F_Client_Facturation].Formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire!Total_TTC
    Mais la valeur sera constante quelle que soit la ligne affichée dans ce 2e formulaire et elle affichera probablement ?Nom si le 1er formulaire n'est pas ouvert.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  14. #14
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Bonjour Claude,


    Merci pour ta patience car je vois bien que c'est un peu le méli mélo...

    Je crois que tu as bien compris ce que je souhaite faire.
    J'ai un formulaire F_Clients_Facturation avec 2 sous formulaires (un pour la facture S/F_Factures et un pour les lignes de la factures S/F_Factures_Détails). Dans le pied de mon S/F_Factures_Détails, j'ai une zone de texte qui me permet de calculer le Total_TTC de la facture. Je souhaite faire afficher ce Total_TTC dans mon formulaire de recherche qui n'a effectivement aucun lien direct.

    Tu trouves cela étrange? Probablement parce que justement ayant du mal avec les chemins, je ne dois peut être pas faire les choses de manières conventionnelles.... à voir.

    Le but de cette manipulation est simplement de faire en sorte que mon formulaire de recherche (de factures) affiche le total ttc de chaque facture. Je trouvais cela assez utile; à voir en pratique...

    Par contre j'ai essayé de mettre cette ligne en contenu de ma zone de texte présente dans le formulaire de recherche (celle ou je souhaite faire afficher mon Total_TTC):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![F_Clients_Facturation].Formulaire![S/F_Factures].Formulaire![S/F_Factures_Détails].Formulaire!Total_TTC
    J'obtiens toujours mon erreur #Nom? (Les noms de formulaire semblent pourtant juste après vérification).


    A bientôt.

  15. #15
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Soyons clairs : je ne trouve pas étrange que dans ton formulaire de recherche sur des factures tu veuilles afficher le total de la facture !

    Mais n’essaie pas de récupérer cette info du total en te servant de ton formulaire F_Client_Facturation, c’est une piste sans issue : ce total n’est disponible que pour la seule facture qui est affichée ponctuellement dans F_Client_Facturation.

    Pour ton formulaire de recherche, tu dois faire comme si F_Client_Facturation n’existait pas.
    En d’autres mots, tu dois construire une requête rRecherche qui comporte une colonne avec le total de la facture.

    Si tu as des difficultés à construire cette requête, poste-moi une db compatible Access2000 avec seulement les tables et les relations.
    Pour ce faire,
    - prends une copie de ta db ;
    - dans cette copie, supprime tous les objets sauf les tables et la requête rRecherche ;
    - compacte cette base ;
    - et sauve en version Access2000.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  16. #16
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Bonjour Claude,


    Hé bien zut alors... Je pensais éviter de reconstruire la requête avec les calculs...
    Cela m'était effectivement passé par la tête, mais je trouvais dommage de tout recalculer puisque le résultat était déjà présent ailleurs.

    Pour ma future nouvelle requête R_recherche, avant que je sollicite une aide directement sur ma db, peux tu me donner les grandes lignes ainsi je vois si je peux me débrouiller seul...
    - Cette requête est elle la source de mon formulaire de recherche?
    - Dans cette requête, je dois donc faire figurer mes lignes de factures contenues dans une autre table, du coup je suis un peu perdu pour ne pas faire afficher des doublons de chaque facture en fonction du nombre de lignes contenues dans la facture.


    Merci.
    A bientôt.

  17. #17
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Tu as probablement une table de liaison facture/Items de la facture, sans doute la source de S/F_Factures_Détails .
    En faisant une requête de regroupement sur cette table, tu dois pouvoir obtenir une liste de N° facture avec le total des items.
    Tu mets cette requête en relation avec ta requête actuelle rRecherche. Cela te permet d’ajouter une colonne avec le total et c’est gagné !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  18. #18
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Exact j'ai bien une table T_Factures_Détails.
    Par contre une facture peut contenir plusieurs lignes (ce qui est logique) donc j'avais, avant même de créer ce post, essayer de faire entrer en jeu ma table de détails dans la requête du formulaire de recherche mais j'obtiens alors dans le formulaire de recherche mes factures autant de fois qu'il y a de lignes et la je coince un petit peu...

  19. #19
    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 : 78
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Fais donc une requête de regroupement sur le N° de facture et somme sur le montant TTC des items pour n'avoir qu'une ligne par facture.

    Cela te permet de faire une relation 1 à 1 entre le N° de facture et tu n'auras qu'une ligne.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  20. #20
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Fais donc une requête de regroupement sur le N° de facture et somme sur le montant TTC des items pour n'avoir qu'une ligne par facture.

    Cela te permet de faire une relation 1 à 1 entre le N° de facture et tu n'auras qu'une ligne.

    Les connaissances me manquent je pense ou les termes.
    La requête de regroupement que tu me suggère est la même requête que celle ou est basé mon formulaire de recherche? Et donc en opération sous ID_Facture je met regroupement si j'ai bien suivit?
    Donc toujours en suivant mon raisonnement (très novice), dans ma requête j'insère tous les éléments de T_Factures_Détails qui me permettent de calculer mon Total_TTC (prix unitaire, quantité, remise, tva) et j'insère mes calculs en expressions directement dans la requête?

    Par contre ma table T_Factures et ma table T_Factures_Détails sont en relation 1 à plusieurs, dois-je modifier cela?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/05/2010, 10h26
  2. Réponses: 14
    Dernier message: 09/09/2008, 14h35
  3. Réponses: 5
    Dernier message: 10/05/2008, 18h11
  4. Réponses: 2
    Dernier message: 10/05/2008, 17h53
  5. Réponses: 6
    Dernier message: 18/03/2007, 16h22

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