Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de requête # 2

pacoako

XLDnaute Occasionnel
Bonjour à tous,

Encore une fois merci pour votre aide c'est rjs plus qu'apprécié.

J'ai un requête à faire mais je ne sais pas trop comment m'y prendre.

J'ai 2 tables.

Table # 1 : Date - # de Compte

Table # 2 : Date - # de Compte - Encaissement ($)

Comment faire une requête qui me sort tous les enregistrements de la table # 2 dont les dates sont <= à 60 jours d'une date de ma table # 1 et pour un même compte.

Merci beaucoup pour vos commentaires & bonne journée!
 

chris

XLDnaute Barbatruc
Re : Problème de requête # 2

Bonjour

Peux-tu joindre un exemple représentatif (mini base) car selon les cas la solution peut différer.

Précise aussi le pourquoi de ta requête (but concret) : il y a peut-être une autre approche.
 

pacoako

XLDnaute Occasionnel
Re : Problème de requête # 2

Bonjour

Peux-tu joindre un exemple représentatif (mini base) car selon les cas la solution peut différer.

Précise aussi le pourquoi de ta requête (but concret) : il y a peut-être une autre approche.

Salut Chris, et le forum

pour la mini-base ce n'est pa trop évident vue les données confidentielles.. mais je pourrais simuler quelquechose si on n'y arrive pas...

Pour le but concret : ma table # 1 sont des comptes ayant reçu une lettre à une date précise.

Mon but est d'extraire tous les paiements de ma table # 2 dans les 60 jours suivant la lettre. Il faut il que les comptes concorde.. donc il faut que la différence entre la date de ma table # 2 et ma table # 1 soit <= à 60 jours et que le # de compte soit le même.

Suis-je assez précis?
 

chris

XLDnaute Barbatruc
Re : Problème de requête # 2

Re

As-tu des clés primaires sur le numéro de compte + date dans les 2 tables ?
Une relation entre ces tables est-elle déclarée dans la structure de la base ?


Sont-ce des comptes clients (ou équivalent) ?

Dans la table 2 tu as plusieurs encaissements pour une même date mais si tu as plusieurs dates pour le même compte, on va avoir plusieurs cas où cette date sera dans la tranche d'écart de 0 à 60 jours.

Le principe est de

  • mettre les deux tables dans la requête, d'utiliser si elle existe, ou bien de déclarer dans la requête une relation sur le numéro de compte entre les tables
  • placer le champ N°compte d'une table, date de chaque table dans la requête
  • d'utiliser le sigma pour mettre en regroupement,
  • mettre le critère suivant dans la colonne de la date de la table 2
    entre [table1].[date] et [table1].[date]+60
    ou bien selon l'improbabilité d'un encaissement avant la lettre
    <=[table1].[date]+60
 
Dernière édition:

pacoako

XLDnaute Occasionnel
Re : Problème de requête # 2

Salut Chris, bonjour le forum,

Tout d'abord merci infiniment pour tes explications, elle étaient on n'peut plus claires.

J'ai réussi semble-t-il à sortir tous mes encaissements suivants la lettre en suivant tes indications.. je croyais cependant qu'en cliquant sur le Sigma, ma requête regrouperais mes # de compte ensemble afin que j'aie la somme des encaissements pour un seul compte.

J'ai remarqué aussi qu'en créant ma relation entre mes 2 comptes, Access ne défini pas de type de relation, il inscrit en bas «Non défini». Au lieu de 1 à 1 ou 1 à plusieurs etc..

J'ai tenté quelques petites modifs à la requête mais je n'arrive pas au résultat escompté..

Dans les champs «Opération».. j'ai mit regroupement partout sauf dans ma colonne des Encaissement où j'ai mit «Somme». Du coup j'ai 2 fois moins d'enregistrement.. un peu moins de redondance de # de compte.. mais j'ai néanmoins des # de compte qui se répète...

Voici en gros le résultat de la requête :

# Compte - Date - Date2 - Encaissement ($)
Compte # 1 - 2009-01-01 - 2009-01-03 - 400$
Compte # 1 - 2009-01-01 - 2009-01-11 - 500$
Compte # 2 - 2009-01-01 - 2009-01-20 - 700$
Compte # 3 - 2009-01-01 - 2009-01-21 - 123$
Compte # 3 - 2009-01-15 - 2009-01-21 - 321$

Je m'aperçoit donc ici que certain client ont reçu plus d'une lettre et d'autre ont fait plus d'un paiement dans le 60 jours.. comme tu l'avais prédit

Ma requête est contruite comme ceci :

Champs : Compte - Date - Date2 - Encaissement ($)
Opération : Regr. - Regr. - Regr. - Somme
Afficher : Oui - Oui - Oui - Oui
Critères : Aucun - Aucun - entre [table1].[Date] et [table1].[Date]+60 - Aucun

Est-ce qu'il y a un moyen dans la requête de combiner tous les enregistrement dont le # de compte est le même?

Merci encore pour ton aide & bonne journée!
 
Dernière édition:

pacoako

XLDnaute Occasionnel
Re : Problème de requête # 2

Ayayaye! Je crois que j'ai trouvé!! En faisant une 2 requête qui pointe sur celle-ci tout simplement.. je n'ai qu'à demander que les # de compte et les encaissement de regrouper les comptes et faire somme sur les encaissements..!

Ça semble fonctionner! Merci encore chris

A+!
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…