Access

Fermé
Marie - 13 mars 2004 à 23:42
 mohamed - 16 sept. 2004 à 15:38
Bonjour,

Dans ma base de données Access, j'ai la table CLIENT et la table FACTURE. Chaque client possède une liste de factures... et chaque facture a un champ état (payé ou en attente de paiement).

Dans une requête, je voudrais avoir la liste des factures (concaténation des différents # de facture) ayant Etat="En attente de paiement" et ce, pour chaque client.

PAr exemple,
#Client Nom ListeFactures
000001 Tom 121415, 121416
000002 Bob 121420
000003 Joe 121422, 121423, 121430

Merci de votre aide,

Marie

5 réponses

Utilisateur anonyme
14 mars 2004 à 02:32
quelles solutions as-tu essayées pour le moment? quels résultats, quelles erreurs?

kinder.surprise,
le maton du matou
0
Bonsoir,

Je ne sais pas du tout comment faire.

Je n'ai pas trouver de fonction qui permettrait de concaténer le même champ (#facture) de plusieurs enregistrements.

Peut-être qu'il faut passer par le code VBA... Mais, je ne sais pas du tout comment m'y prendre pour obtenir la concaténation d'un même champ selon un critère.

Merci de votre aide,

Marie
0
Utilisateur anonyme
15 sept. 2004 à 01:43
la concaténation ne se fera pas au niveau de ta requête. Ta requête doit te renvoyer, suivant ce que tu dis souhaiter, l'ensemble des numéros des factures en état "attente" (donc un critère sur ce champ) ainsi que le nom du client associé à la facture

ce sont tes données.

Ce que tu veux, ensuite, relève purement de l'affichage de ces données, c'est, comment dire, "cosmétique".

donc, oui, ça passera par VBA

il va falloir donc récupérer ces données dans un objet recordset par exemple, les trier si ce n'est pas déjà fait (mais évidemment il vaut mieux le faire au niveau de la requête) puis boucler sur une concaténation du genre str_fact_cli=str_fact_cli + [l'ID de facture] tant que l'ID de client reste la même, et sur changement d'ID de client, purger le contenu de ta variable dans un tableau par exemple.
Puis alimenter un controle quelconque avec ce tableau.

Si tu n'as jamais fait de VBA, il va falloir commencer par le début, c'est-à-dire t'y former, d'abord. Tu as en général, suivant la version d'access, un ou plusieurs exemples très didactiques livrés avec le logiciel, qui sont parfait pour la prise en main de VBA. Tu ne peux pas y couper, mais c'est facile et intéressant.
0
J'ai le même probleme a résoudre :
comment concaténation un même champ.
Peux tu me donner la réponse si tu as trouvé la solution ?
0
salut,
vous avez besoin de 3 requêtes si j'ai bien compris votre pblème,
R1, aura comme résultat les clients avec les liste des factures payées.
R2, aura comme résultat les clients avec les liste des factures non payées.
R3 ce basera sur R1 et R2 vous allez les lier par CCLIENT et comme résultat vouz choisirzez R1.* pour R1 et le 2ème champ R2.etat pour R2.
c'est ce que je crois juste mais perfsonne n'est parfait.
aller bon, à+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,
j'ai le même pblème se pendant la résolution de barakouda ne marchje que si vous n'avez qu'une seule facture n'ont payée et une facture payé donc 0-1.
bon courage.
merci.
0