Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2007, 16h00   #1
Invité de passage
 
Inscription : juin 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 13
Points : 3
Points : 3
Par défaut Création d'un échéancier à partir de requêtes

Bonjour,

Je suis en train de concevoir une base de gestion des locations, j'ai fais des requêtes pour calculer les dates auxquelles les prélèvements seront faits.

En revanche je ne vois pas comment faire une requête qui chercherait dans toutes les autres requêtes, celles où les dates ne sont pas encore passées ou viennent de passer.

Il faut donc que je construise un échéancier qui m'alerte quand un prélèvement aurait dû être fait.

Merci d'avance pour toute éventuelle réponse.

Chicanne
chicanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 16h12   #2
Membre éclairé
 
Avatar de dr_feelgood
 
Patrick Gassmann
Inscription : mars 2005
Messages : 282
Détails du profil
Informations personnelles :
Nom : Patrick Gassmann
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : mars 2005
Messages : 282
Points : 329
Points : 329
tu as une date d'échéance que tu modifies lorsque l'échéance est payée (en mettant la date de la prochaine échéance..)

la date de l'échéance à venir est plus grande que la date du jour

pour trouver les échéances non payées tu fais une requête en recherchant les dates d'échéance inférieures à la date du jour

de même pour trouver les échéances a payer le jour même tu cherches les dates = à la date du jour.

interresses toi à la fonction Date
__________________
.
less is more

vous pouvez faire une recherche dans le forum
et également une recherche dans les FAQ
dr_feelgood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 09h58   #3
Invité de passage
 
Inscription : juin 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 13
Points : 3
Points : 3
Merci beaucoup pour ta réponse, je voyais bien quelle fonction date utiliser, mais ce qui me posait problème, c'était de faire une seule requête qui me trouve toutes les dates passées. Je m'explique...

Le problème auquel je suis confrontée, c'est que j'ai des contrats de 12, 24, 36 et 48 mois, et pour chacune, les prélèvements peuvent être mensuel, bimensuel, trimestriel, semestriel ou annuel. Pour calculer les dates de prélèvement de chaque contrat, j'ai rajouté des expression du type:
ajdate("m";nombre;datedébut)
Ceci en utilisant des critères de sélection (ex: "24" et "bimensuel", ou je me retrouve avec 6 prélèvements), pour que chaque type de contrat ait le bon nombre de prélèvement, aux bonnes dates.

L'ennui c'est que je me retrouve avec 20 requêtes dans lesquelles je dois chercher, en sachant que certaines on jusqu'à 48 dates de prélèvements! (48 mois, prélèvement mensualisé).

Je me demande alors si il est possible de faire la requête dont tu m'as parlé mais sur tous ces champs! Car moi je ne voyais pas comment tous les sélectionner. Sinon j'avais pensé peut-être rajouter un critère (ou une autre expression) dans mes requêtes de départ ou faire une macro, je ne sais pas... Mais en tout cas je ne vois pas du tout comment les formuler pour que ça prenne en compte tous ces champs.

Je voudrais donc savoir si c'est possible, en tout cas je te remercie d'avoir répondu...

Chicanne
chicanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 15h29   #4
Invité de passage
 
Inscription : juin 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 13
Points : 3
Points : 3
Sinon je voulais savoir s'il était possible de trouver une formulation ou un code qui permette de faire répéter l'expression selon la durée du contrat, ce qui m'éviterait d'avoir des requêtes avec autant de champs parfois!

Merci d'avance

Chicanne
chicanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 12h05   #5
Membre éclairé
 
Avatar de dr_feelgood
 
Patrick Gassmann
Inscription : mars 2005
Messages : 282
Détails du profil
Informations personnelles :
Nom : Patrick Gassmann
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : mars 2005
Messages : 282
Points : 329
Points : 329
Tout dépend de ce que tu dois faire....

tu avais indiqué:
Citation:
Il faut donc que je construise un échéancier qui m'alerte quand un prélèvement aurait dû être fait.
Je partais de l'hypothèse que tu ne cherchais qu'une seule date, celle de l'échéance la plus proche.

Si effectivement tu dois parcourir toutes les dates d'échéance, je pense qu'il faut en passer par une table contenant toutes les dates d'échéance (cette table pouvant être provisoire).

Peut être peux-tu nous expliquer de façon très détaillée ce que tu veux faire ?
__________________
.
less is more

vous pouvez faire une recherche dans le forum
et également une recherche dans les FAQ
dr_feelgood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 14h51   #6
Expert Confirmé
 
Inscription : mai 2005
Messages : 3 419
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3 419
Points : 3 768
Points : 3 768
en créant une table index muni d'un champ index(integer)
je saisis dans ce champ 1...200

j'ai matable
avec
datedépart
periode 1 ou 2 ou 3 ou 4 ou 6 ou 12
durée 12,24,36,48

la requête suivante (pas besoin de 20 requêtes)
Code :
1
2
3
4
5
SELECT datedep,  DateAdd("m",[index],[datedep]) AS echéance
FROM matable,index
WHERE
index<=[durmois] 
AND Int([index]/[periode])=[index]/[periode]=True;
va me renvoyer les échéances d'un contrat

à partir de la avec deux ou trois where je trouve tout ce que je veux
__________________
Elle est pas belle la vie ?
random est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 16h39   #7
Invité de passage
 
Inscription : juin 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 13
Points : 3
Points : 3
Je vous remercie pour vos réponses, mais je n'arrive pas à le faire fonctionner.
En effet, il m'affiche une erreur de compilation. Je pense qu'il me manque quelques précisions car je ne suis pas très expérimentée en Visual Basic.

Ce code, où dois je le mettre? Dans un module ou dans le générateur d'expression d'une requête?
Et la table index, qui n'a qu'un champs index, comment je la relie aux autres? En sachant que j'ai une table contrat (avec une autre table ligne de contrat), est ce que je dois mettre un champs index danx ma table contrat pour créer un lien qui à l'intégrité référentielle?
Sinon je comprends le sens du code et je pense que ça répond à mes attentes.

Merci d'avance

Chicanne
chicanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h03.


 
 
 
 
Partenaires

Hébergement Web