Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul dans un état

5 réponses
Avatar
FidoDido
Bonjour, j'ai un probleme, j'aimerais effectuer un calcul dans un état, mais
je ne sais pas comment mis prendre, pourriez-vous m'aider. voici ce que je
voudrais faire...
dans la table remise, j'ai des donné avec un champ Date, j'aimerais faire un
comparatif, entre l'année 2008 et 2009, pas de trouble ma requête me donne
les bonne données, sauf que dans mon état j'aimerais pouvoir calculé la
différence entre 2008 et 2009, et je n'y parviens pas, pourriez-vous m'aider
svp....

voici ma requete en SQL
TRANSFORM Sum(Remise.Montant) AS Vente
SELECT Clients.Société, Remise.Catégorie, Sum([Vente]) AS AAD
FROM Clients INNER JOIN Remise ON Clients.[Clients ID]=Remise.Client
WHERE (((Remise.Daté) Between [Date de Début] And [Date de Fin]))
GROUP BY Clients.Société, Remise.Catégorie, Year([Daté])
ORDER BY Format([Daté],"mm") DESC
PIVOT Format([Daté],"mm") In
("01","02","03","04","05","06","07","08","09","10","11","12");

merci à l'avance

5 réponses

Avatar
Castours
Bonjour
Dans ton etat as tu des champs ou sont stockés les valeurs des années 2008
2009 .
Si non tu faire un etat a partir d'une requete d'analyse croisée
guy
"FidoDido" a écrit dans le message de
news:
Bonjour, j'ai un probleme, j'aimerais effectuer un calcul dans un état,
mais
je ne sais pas comment mis prendre, pourriez-vous m'aider. voici ce que je
voudrais faire...
dans la table remise, j'ai des donné avec un champ Date, j'aimerais faire
un
comparatif, entre l'année 2008 et 2009, pas de trouble ma requête me donne
les bonne données, sauf que dans mon état j'aimerais pouvoir calculé la
différence entre 2008 et 2009, et je n'y parviens pas, pourriez-vous
m'aider
svp....

voici ma requete en SQL
TRANSFORM Sum(Remise.Montant) AS Vente
SELECT Clients.Société, Remise.Catégorie, Sum([Vente]) AS AAD
FROM Clients INNER JOIN Remise ON Clients.[Clients ID]=Remise.Client
WHERE (((Remise.Daté) Between [Date de Début] And [Date de Fin]))
GROUP BY Clients.Société, Remise.Catégorie, Year([Daté])
ORDER BY Format([Daté],"mm") DESC
PIVOT Format([Daté],"mm") In
("01","02","03","04","05","06","07","08","09","10","11","12");

merci à l'avance



Avatar
FidoDido
Bonjour Castours,
mes données dont les dates, sont dans la table Remise, et le nom du champs
est Daté
j'ai trouve une solution, mais la j'ai un autre problème, dans ma requête
j'ai inscrit dans critère ceci: Entre [Date de Début] Et [Date de Fin], la
est mon nouveau problème, ce qui me permet de sortir exemple, les ventes qui
commence 2008/01/01 et qui se termine le 2009/12/31, celà marche, sauf que la
ca me donne 2 années entière, ce que j'aimerais c'est que je voudrais faire
en sorte que je puisse faire un comparatif pour la meme période, j'ai essayé
ceci mais ca marche pas, dans critere j'ai inscrit : Entre (entre([Date de
Debut]et[Date de Fin])Et([Date de Début]et[Date de fin])), mais ca marche
pas, Access me dis que la requete est trop compliqué, en fin c'est que je
voudarsi sortir ceci:
les ventes qui se situe entre ex: 2008/01/01 et 2008/04/30
et aussi les ventes qui se situe 2009/01/01 et 2009/04/30, ce que
permetrrais de faire une comparaison pour la même période.
est-ce que tu comprends ?

"Castours" a écrit :

Bonjour
Dans ton etat as tu des champs ou sont stockés les valeurs des années 2008
2009 .
Si non tu faire un etat a partir d'une requete d'analyse croisée
guy
"FidoDido" a écrit dans le message de
news:
> Bonjour, j'ai un probleme, j'aimerais effectuer un calcul dans un état,
> mais
> je ne sais pas comment mis prendre, pourriez-vous m'aider. voici ce que je
> voudrais faire...
> dans la table remise, j'ai des donné avec un champ Date, j'aimerais faire
> un
> comparatif, entre l'année 2008 et 2009, pas de trouble ma requête me donne
> les bonne données, sauf que dans mon état j'aimerais pouvoir calculé la
> différence entre 2008 et 2009, et je n'y parviens pas, pourriez-vous
> m'aider
> svp....
>
> voici ma requete en SQL
> TRANSFORM Sum(Remise.Montant) AS Vente
> SELECT Clients.Société, Remise.Catégorie, Sum([Vente]) AS AAD
> FROM Clients INNER JOIN Remise ON Clients.[Clients ID]=Remise.Client
> WHERE (((Remise.Daté) Between [Date de Début] And [Date de Fin]))
> GROUP BY Clients.Société, Remise.Catégorie, Year([Daté])
> ORDER BY Format([Daté],"mm") DESC
> PIVOT Format([Daté],"mm") In
> ("01","02","03","04","05","06","07","08","09","10","11","12");
>
> merci à l'avance
>





Avatar
Blaise Cacramp
Bonjour ou bonsoir, selon.

Tu veux comparer sur la même ligne des enregistrement différents et à mon
avis, ce n'est pas possible dans un état de base.
Il y a moyen via programmation, en créant des fonctions qui vont chercher la
donnée.
Voici un viel exemple réel :
Dans une zone de texte du détail, j'ai ceci comme Source Contrôle : (sans
les « ») « =Mon_Q_T(2;[Tach_Id]) »
Mon_Q_T veut dire « Monito Quantité Tâche »
(2;[Tach_Id]) veut dire « période 2 (hebdo) et l'Id de la tâche »

«
Function Mon_Q_T(Periode, Tache) As Single
Dim db_monito As DAO.Database
Dim Rst_Mon As DAO.Recordset
Dim Sql$

Set db_monito = CurrentDb

subDateSql Periode ' fabrique la date (publique) au format SQL
Sql$ = "SELECT ..." _
& " FROM ..." _
& " WHERE ..."
Set Rst_Mon = db_monito.OpenRecordset(Sql$)
If Not Rst_Mon.EOF Then
Mon_Q_T = Nz(Rst_Mon!SommeDeOuv_Qtite, 0)
Else
Mon_Q_T = 0
End If
End Function
»

Perso, j'utilise plus les états, je passe en Excel via automation, et
quelques fois en Word, toujours via automation
En Excel, j'utilise des modèles préformatés, ce qui diminue notablement la
quantité de code


Cdt, Blaise
---- ---- ----


"FidoDido" a écrit dans le message de
news:
Bonjour Castours,
mes données dont les dates, sont dans la table Remise, et le nom du champs
est Daté
j'ai trouve une solution, mais la j'ai un autre problème, dans ma requête
j'ai inscrit dans critère ceci: Entre [Date de Début] Et [Date de Fin], la
est mon nouveau problème, ce qui me permet de sortir exemple, les ventes
qui
commence 2008/01/01 et qui se termine le 2009/12/31, celà marche, sauf que
la
ca me donne 2 années entière, ce que j'aimerais c'est que je voudrais
faire
en sorte que je puisse faire un comparatif pour la meme période, j'ai
essayé
ceci mais ca marche pas, dans critere j'ai inscrit : Entre (entre([Date de
Debut]et[Date de Fin])Et([Date de Début]et[Date de fin])), mais ca marche
pas, Access me dis que la requete est trop compliqué, en fin c'est que je
voudarsi sortir ceci:
les ventes qui se situe entre ex: 2008/01/01 et 2008/04/30
et aussi les ventes qui se situe 2009/01/01 et 2009/04/30, ce que
permetrrais de faire une comparaison pour la même période.
est-ce que tu comprends ?

"Castours" a écrit :

Bonjour
Dans ton etat as tu des champs ou sont stockés les valeurs des années
2008
2009 .
Si non tu faire un etat a partir d'une requete d'analyse croisée
guy
"FidoDido" a écrit dans le message
de
news:
> Bonjour, j'ai un probleme, j'aimerais effectuer un calcul dans un état,
> mais
> je ne sais pas comment mis prendre, pourriez-vous m'aider. voici ce que
> je
> voudrais faire...
> dans la table remise, j'ai des donné avec un champ Date, j'aimerais
> faire
> un
> comparatif, entre l'année 2008 et 2009, pas de trouble ma requête me
> donne
> les bonne données, sauf que dans mon état j'aimerais pouvoir calculé la
> différence entre 2008 et 2009, et je n'y parviens pas, pourriez-vous
> m'aider
> svp....
>
> voici ma requete en SQL
> TRANSFORM Sum(Remise.Montant) AS Vente
> SELECT Clients.Société, Remise.Catégorie, Sum([Vente]) AS AAD
> FROM Clients INNER JOIN Remise ON Clients.[Clients ID]=Remise.Client
> WHERE (((Remise.Daté) Between [Date de Début] And [Date de Fin]))
> GROUP BY Clients.Société, Remise.Catégorie, Year([Daté])
> ORDER BY Format([Daté],"mm") DESC
> PIVOT Format([Daté],"mm") In
> ("01","02","03","04","05","06","07","08","09","10","11","12");
>
> merci à l'avance
>







Avatar
FidoDido
Bonjour Blaise Cacramp, et merci bien pour ton conseil, a quel endroit
s'insere ce code ?

"Blaise Cacramp" a écrit :

Bonjour ou bonsoir, selon.

Tu veux comparer sur la même ligne des enregistrement différents et à mon
avis, ce n'est pas possible dans un état de base.
Il y a moyen via programmation, en créant des fonctions qui vont chercher la
donnée.
Voici un viel exemple réel :
Dans une zone de texte du détail, j'ai ceci comme Source Contrôle : (sans
les « ») « =Mon_Q_T(2;[Tach_Id]) »
Mon_Q_T veut dire « Monito Quantité Tâche »
(2;[Tach_Id]) veut dire « période 2 (hebdo) et l'Id de la tâche »

«
Function Mon_Q_T(Periode, Tache) As Single
Dim db_monito As DAO.Database
Dim Rst_Mon As DAO.Recordset
Dim Sql$

Set db_monito = CurrentDb

subDateSql Periode ' fabrique la date (publique) au format SQL
Sql$ = "SELECT ..." _
& " FROM ..." _
& " WHERE ..."
Set Rst_Mon = db_monito.OpenRecordset(Sql$)
If Not Rst_Mon.EOF Then
Mon_Q_T = Nz(Rst_Mon!SommeDeOuv_Qtite, 0)
Else
Mon_Q_T = 0
End If
End Function
»

Perso, j'utilise plus les états, je passe en Excel via automation, et
quelques fois en Word, toujours via automation
En Excel, j'utilise des modèles préformatés, ce qui diminue notablement la
quantité de code


Cdt, Blaise
---- ---- ----


"FidoDido" a écrit dans le message de
news:
> Bonjour Castours,
> mes données dont les dates, sont dans la table Remise, et le nom du champs
> est Daté
> j'ai trouve une solution, mais la j'ai un autre problème, dans ma requête
> j'ai inscrit dans critère ceci: Entre [Date de Début] Et [Date de Fin], la
> est mon nouveau problème, ce qui me permet de sortir exemple, les ventes
> qui
> commence 2008/01/01 et qui se termine le 2009/12/31, celà marche, sauf que
> la
> ca me donne 2 années entière, ce que j'aimerais c'est que je voudrais
> faire
> en sorte que je puisse faire un comparatif pour la meme période, j'ai
> essayé
> ceci mais ca marche pas, dans critere j'ai inscrit : Entre (entre([Date de
> Debut]et[Date de Fin])Et([Date de Début]et[Date de fin])), mais ca marche
> pas, Access me dis que la requete est trop compliqué, en fin c'est que je
> voudarsi sortir ceci:
> les ventes qui se situe entre ex: 2008/01/01 et 2008/04/30
> et aussi les ventes qui se situe 2009/01/01 et 2009/04/30, ce que
> permetrrais de faire une comparaison pour la même période.
> est-ce que tu comprends ?
>
> "Castours" a écrit :
>
>> Bonjour
>> Dans ton etat as tu des champs ou sont stockés les valeurs des années
>> 2008
>> 2009 .
>> Si non tu faire un etat a partir d'une requete d'analyse croisée
>> guy
>> "FidoDido" a écrit dans le message
>> de
>> news:
>> > Bonjour, j'ai un probleme, j'aimerais effectuer un calcul dans un état,
>> > mais
>> > je ne sais pas comment mis prendre, pourriez-vous m'aider. voici ce que
>> > je
>> > voudrais faire...
>> > dans la table remise, j'ai des donné avec un champ Date, j'aimerais
>> > faire
>> > un
>> > comparatif, entre l'année 2008 et 2009, pas de trouble ma requête me
>> > donne
>> > les bonne données, sauf que dans mon état j'aimerais pouvoir calculé la
>> > différence entre 2008 et 2009, et je n'y parviens pas, pourriez-vous
>> > m'aider
>> > svp....
>> >
>> > voici ma requete en SQL
>> > TRANSFORM Sum(Remise.Montant) AS Vente
>> > SELECT Clients.Société, Remise.Catégorie, Sum([Vente]) AS AAD
>> > FROM Clients INNER JOIN Remise ON Clients.[Clients ID]=Remise.Client
>> > WHERE (((Remise.Daté) Between [Date de Début] And [Date de Fin]))
>> > GROUP BY Clients.Société, Remise.Catégorie, Year([Daté])
>> > ORDER BY Format([Daté],"mm") DESC
>> > PIVOT Format([Daté],"mm") In
>> > ("01","02","03","04","05","06","07","08","09","10","11","12");
>> >
>> > merci à l'avance
>> >
>>
>>
>>





Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Le code dans un module
et la fonction, comme source d'une zone de texte indépendante (désolé pour
le délai de réponse)


Cdt, Blaise
---- ---- ----


"FidoDido" a écrit dans le message de
news:
Bonjour Blaise Cacramp, et merci bien pour ton conseil, a quel endroit
s'insere ce code ?

"Blaise Cacramp" a écrit :

Bonjour ou bonsoir, selon.

Tu veux comparer sur la même ligne des enregistrement différents et à mon
avis, ce n'est pas possible dans un état de base.
Il y a moyen via programmation, en créant des fonctions qui vont chercher
la
donnée.
Voici un viel exemple réel :
Dans une zone de texte du détail, j'ai ceci comme Source Contrôle : (sans
les « ») « =Mon_Q_T(2;[Tach_Id]) »
Mon_Q_T veut dire « Monito Quantité Tâche »
(2;[Tach_Id]) veut dire « période 2 (hebdo) et l'Id de la tâche »

«
Function Mon_Q_T(Periode, Tache) As Single
Dim db_monito As DAO.Database
Dim Rst_Mon As DAO.Recordset
Dim Sql$

Set db_monito = CurrentDb

subDateSql Periode ' fabrique la date (publique) au format SQL
Sql$ = "SELECT ..." _
& " FROM ..." _
& " WHERE ..."
Set Rst_Mon = db_monito.OpenRecordset(Sql$)
If Not Rst_Mon.EOF Then
Mon_Q_T = Nz(Rst_Mon!SommeDeOuv_Qtite, 0)
Else
Mon_Q_T = 0
End If
End Function
»

Perso, j'utilise plus les états, je passe en Excel via automation, et
quelques fois en Word, toujours via automation
En Excel, j'utilise des modèles préformatés, ce qui diminue notablement
la
quantité de code


Cdt, Blaise
---- ---- ----


"FidoDido" a écrit dans le message
de
news:
> Bonjour Castours,
> mes données dont les dates, sont dans la table Remise, et le nom du
> champs
> est Daté
> j'ai trouve une solution, mais la j'ai un autre problème, dans ma
> requête
> j'ai inscrit dans critère ceci: Entre [Date de Début] Et [Date de Fin],
> la
> est mon nouveau problème, ce qui me permet de sortir exemple, les
> ventes
> qui
> commence 2008/01/01 et qui se termine le 2009/12/31, celà marche, sauf
> que
> la
> ca me donne 2 années entière, ce que j'aimerais c'est que je voudrais
> faire
> en sorte que je puisse faire un comparatif pour la meme période, j'ai
> essayé
> ceci mais ca marche pas, dans critere j'ai inscrit : Entre (entre([Date
> de
> Debut]et[Date de Fin])Et([Date de Début]et[Date de fin])), mais ca
> marche
> pas, Access me dis que la requete est trop compliqué, en fin c'est que
> je
> voudarsi sortir ceci:
> les ventes qui se situe entre ex: 2008/01/01 et 2008/04/30
> et aussi les ventes qui se situe 2009/01/01 et 2009/04/30, ce que
> permetrrais de faire une comparaison pour la même période.
> est-ce que tu comprends ?
>
> "Castours" a écrit :
>
>> Bonjour
>> Dans ton etat as tu des champs ou sont stockés les valeurs des années
>> 2008
>> 2009 .
>> Si non tu faire un etat a partir d'une requete d'analyse croisée
>> guy
>> "FidoDido" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour, j'ai un probleme, j'aimerais effectuer un calcul dans un
>> > état,
>> > mais
>> > je ne sais pas comment mis prendre, pourriez-vous m'aider. voici ce
>> > que
>> > je
>> > voudrais faire...
>> > dans la table remise, j'ai des donné avec un champ Date, j'aimerais
>> > faire
>> > un
>> > comparatif, entre l'année 2008 et 2009, pas de trouble ma requête me
>> > donne
>> > les bonne données, sauf que dans mon état j'aimerais pouvoir calculé
>> > la
>> > différence entre 2008 et 2009, et je n'y parviens pas, pourriez-vous
>> > m'aider
>> > svp....
>> >
>> > voici ma requete en SQL
>> > TRANSFORM Sum(Remise.Montant) AS Vente
>> > SELECT Clients.Société, Remise.Catégorie, Sum([Vente]) AS AAD
>> > FROM Clients INNER JOIN Remise ON Clients.[Clients ID]=Remise.Client
>> > WHERE (((Remise.Daté) Between [Date de Début] And [Date de Fin]))
>> > GROUP BY Clients.Société, Remise.Catégorie, Year([Daté])
>> > ORDER BY Format([Daté],"mm") DESC
>> > PIVOT Format([Daté],"mm") In
>> > ("01","02","03","04","05","06","07","08","09","10","11","12");
>> >
>> > merci à l'avance
>> >
>>
>>
>>