Requete complexe access

cs_beni27 Messages postés 3 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 20 mars 2003 - 20 mars 2003 à 09:38
cs_beni27 Messages postés 3 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 20 mars 2003 - 20 mars 2003 à 15:51
Bonjour,

il s'agit de projets qui appliquent des solutions.
il y a 3 tables :
-solution
-projet
-solutionprojet

la table solutionprojet effectue le lien pour avoir une relation n,n entre solution et projet.
et un projet applique une solution et j'ai en plus un champ qui indique à quelle date l'application est totale.
table solutionprojet :
idprojet
idsolution
date

j'ai besoin d'afficher dans un MSChart l'évolution de l'application des solutions par les projets dans le temps.
c'est à dire faire la somme de touts les projets appliquant une solution chaque mois.
Donc je voudrais savoir si c'est possible de le faire avec une requête.

pour l'instant j'ai créé une requête mais elle ne me fait pas la somme de tous les projets ayant appliqué la solution jusqu'à une date (format mmm aa), elle m'afficha le nombre de projets ayant appliqué la solution à une date.

Merci de votre aide

5 réponses

neo3015 Messages postés 35 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 19 mai 2003
20 mars 2003 à 12:37
tu peux faire ta requete en sql avec un querydef,
avec le sql, y a moyen de tt faire, normalement, mais je ne vois pas se que tu veux calculer, ou compte...
donne un peu plus de détail stp
0
cs_beni27 Messages postés 3 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 20 mars 2003
20 mars 2003 à 13:36
ce que je veux c'est obtenir la somme des projets qui appliquent une solution jusqu'à une date(exprimée en mois).
Je voudrais donner un intervalle de dates et que pour chaque mois la somme soit fait jusqu'à ce mois.

pour l'instant je ne vois qu'une solution c'est de faie une boucle en VBA pour incrémenter une variable depuis la date du début de l'intervalle jusqu'à la date de fin de l'intervalle et insérer le résultat dans une nouvelle table.
Mais j'aimerai le faire en utilisant que sql

est ce que c'est plus clair?

merci
0
neo3015 Messages postés 35 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 19 mai 2003
20 mars 2003 à 15:34
-------------------------------
Réponse au message :
-------------------------------

> ce que je veux c'est obtenir la somme des projets qui appliquent une solution jusqu'à une date(exprimée en mois).
> Je voudrais donner un intervalle de dates et que pour chaque mois la somme soit fait jusqu'à ce mois.
>
> pour l'instant je ne vois qu'une solution c'est de faie une boucle en VBA pour incrémenter une variable depuis la date du début de l'intervalle jusqu'à la date de fin de l'intervalle et insérer le résultat dans une nouvelle table.
> Mais j'aimerai le faire en utilisant que sql
>
> est ce que c'est plus clair?
>
> merci
> --
> ben
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > tu peux faire ta requete en sql avec un querydef,
> > avec le sql, y a moyen de tt faire, normalement, mais je ne vois pas se que tu veux calculer, ou compte...
> > donne un peu plus de détail stp
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > >
> > > il s'agit de projets qui appliquent des solutions.
> > > il y a 3 tables :
> > > -solution
> > > -projet
> > > -solutionprojet
> > >
> > > la table solutionprojet effectue le lien pour avoir une relation n,n entre solution et projet.
> > > et un projet applique une solution et j'ai en plus un champ qui indique à quelle date l'application est totale.
> > > table solutionprojet :
> > > idprojet
> > > idsolution
> > > date
> > >
> > > j'ai besoin d'afficher dans un MSChart l'évolution de l'application des solutions par les projets dans le temps.
> > > c'est à dire faire la somme de touts les projets appliquant une solution chaque mois.
> > > Donc je voudrais savoir si c'est possible de le faire avec une requête.
> > >
> > > pour l'instant j'ai créé une requête mais elle ne me fait pas la somme de tous les projets ayant appliqué la solution jusqu'à une date (format mmm aa), elle m'afficha le nombre de projets ayant appliqué la solution à une date.
> > >
> > > Merci de votre aide
> > >
> > > --
> > > ben
> >
>
0
neo3015 Messages postés 35 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 19 mai 2003
20 mars 2003 à 15:35
dim sqlcmd as string
dim db as database
dim qry as querydef
dim rst as recordset

obtenir la somme des projets qui appliquent une solution jusqu'à une date(exprimée en mois).

sqlcmd = "select sum(distinct projets.LaVariableQueTuVeuxSommer), projets.NomDuProjet, solution.DateDeLaSolution from projets, solution where solition.dateDeLaSolution < " & TaDateDansUneVariable


donner un intervalle de dates et que pour chaque mois la somme soit fait jusqu'à ce mois.
dim datedeb as string '01-01-2001
dim datefin as string '01-03-2001

datedeb= ...
datefin = ...

sqlcmd = "select sum(distinct solution.SeQueTuVeuxSommer), ... from solution, ... where solutionProjet.date between " & datedeb & " and " & datefin

_________________________________________________________
pour avoior le resultat :
set db = opendatabase (application.currentdb.name)
set qry = db.createQuerydef ("", sqlcmd)
set rst = qry.openrecordset ()

tu traite ton recordset

avant de faire la deuxieme instruction
set rst = nothing
set qry = nothing

et C tout

en esperant avoir répondu
pour plus de détail pour les cmd sql, voir sur internet, y a assez de doc ....
0

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

Posez votre question
cs_beni27 Messages postés 3 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 20 mars 2003
20 mars 2003 à 15:51
c'est en effet a mon avis la seule chose a faire, je pensais qu'il y avait peut etre un moyen de le faire seulement en sql sans prog.
c'est surtout parceque je veux faire lier les données à un MSChart d'un formulaire et lier le MSChart direcetment à la requête.

Merci encore pour ta solution
0
Rejoignez-nous