begin process at 2012 05 26 12:31:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Autre

 > 

Requêtes

 > 

comparaison champ table et champ saisi de formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comparaison champ table et champ saisi de formulaire

lundi 6 septembre 2010 à 08:11:14 | comparaison champ table et champ saisi de formulaire

elnico16

bonjour, je fais des requetes de statistiques et je voudrais avoir mes commandes concernées par les dates saisies au préalable dans un formulaire

j'ai essayé la commande BETWEEn et aussi cette méthode (voici ma requete)


Code sql :
SELECT [Ordres de fabrication].[Numéro OF], [Ordres de fabrication].[date], [Ordres de fabrication].[Client], [Ordres de fabrication].[Quantité], [Ordres de fabrication].[Prix1], [Ordres de fabrication].[Montant], [Ordres de fabrication].[Pmax], Sum([Ordres de fabrication].[Pmax]) AS SommePoids
FROM [Ordres de fabrication]
WHERE [Ordres de fabrication].[date]>=[Forms]![StatistiquesCommandes]![tfDateDebut] AND [Ordres de fabrication].[date]<=[Forms]![StatistiquesCommandes]![tfDateFin]
GROUP BY [Ordres de fabrication].[Numéro OF], [Ordres de fabrication].[date], [Ordres de fabrication].[Client], [Ordres de fabrication].[Quantité], [Ordres de fabrication].[Prix1], [Ordres de fabrication].[Montant], [Ordres de fabrication].[Pmax];
quelle est la bonne syntaxe pour n'avoir que les commandes enre telle et telle date ?
MERCI beaucoup pour vos réponses car j'en ai bien besoin
lundi 6 septembre 2010 à 09:25:47 | Re : comparaison champ table et champ saisi de formulaire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

C'est sous quel SGBD ? Chaque SGBD nécessite un format de date bien définit, c'est sûrement cà ton problème.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
lundi 6 septembre 2010 à 09:35:51 | Re : comparaison champ table et champ saisi de formulaire

elnico16

hello !! cest sous acess2000 que j'ai ce probleme?!!
lundi 6 septembre 2010 à 09:50:29 | Re : comparaison champ table et champ saisi de formulaire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Ok, donc à ce moment là il faut que tu formatte ta date au format suivant : #MM/dd/yyyy#, utilise la fonction Format de vb pour cela.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
lundi 6 septembre 2010 à 09:58:41 | Re : comparaison champ table et champ saisi de formulaire

elnico16

re: ma date est déjà formatée comme ça ... par contre je pense que ma syntaxe dans ma requete pour avoir mes commandes entre les dates saisies ne fonctionne pas....

ma fonction "SUM" fonctionne quand a elle amsi pour chaque ligne indépendamment alors que ej voudrais faire la somme globale de toute la colonne.....
lundi 6 septembre 2010 à 10:03:52 | Re : comparaison champ table et champ saisi de formulaire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Ta requête me semble bonne, es-tu sûr de ton format de date ? As-tu bien des dièses (#) autour de tes dates ?

Pour tester, tu peux essayer ceci :
SELECT [Numéro OF], date, Client, Quantité, Prix1, Montant, Pmax, Sum(Pmax) AS SommePoids
FROM [Ordres de fabrication]
WHERE date>= #01/01/2010# AND date<= #12/31/2010#
GROUP BY [Numéro OF], date, Client, Quantité, Prix1, Montant, Pmax;

Attention de ne pas mettre le PMax dans tes champs SELECT (ca ne sert à rien), et surtout, dans ton GROUP BY, sinon tu n'obtiendras pas une somme.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
lundi 6 septembre 2010 à 10:33:26 | Re : comparaison champ table et champ saisi de formulaire

elnico16

comme tu as vu mes dates sont récupérées d'un formulaire donc il faut que je mette la formule"Formulaire![....]..." et je ne peux pas mettre de # devant. Par contre j'ai enlevé le Pmax (qui correspond au poids de chaque commande) dans ma requete et il me le demande quand je veux l'executer....

Autre question : pourquoi ma somme se fait seulement ligne par ligne et ne se cumule pas au fur et a mesure ?!
lundi 6 septembre 2010 à 10:40:56 | Re : comparaison champ table et champ saisi de formulaire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

C'est à cause du GROUP BY : si tu mets tout tes champs, et que tous représente un enregistrement unique, forcément, il na va pas sommer les valeurs, il faut que tu mettes les champs vraiment utiles dans le GROUP BY.

Je n'ai jamais fait de VBA, donc je ne sais pas comment ca se passe pour les requêtes, mais essaye ainsi :
[Ordres de fabrication].[date]>=#[Forms]![StatistiquesCommandes]![tfDateDebut]#

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
lundi 6 septembre 2010 à 11:12:44 | Re : comparaison champ table et champ saisi de formulaire

elnico16

merci pour ta réponse , j'ai essayé avec les # , il m'annonce une erreur de syntaxe ....>donc ça passe pas... :(
j'ai laissé seulement la pmax et le montant dans mon groupby et il me dit dans un message d'erreur que je n'utilise pas le Numero d'OF comme une partie de la fonction d'agrégat.. bref, je ne comprends pas pourquoi il ne veut ni m'afficher la somme cumulée ni prendre en compte ces maudites dates que je saisi dans mon formulaire....
sacré SQL :(
lundi 6 septembre 2010 à 12:07:00 | Re : comparaison champ table et champ saisi de formulaire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Quand tu fais une somme de champ, il faut définir le groupe auquel ca s'applique : si dans le group by tu mets tout tes champs, ca ne sers à rien, vu que ton groupe correspondra à chaque enregistrement, donc il n'y a pas de somme à faire.

Petit rappel de la fonction SUM et la clause GROUP BY avec un petit exemple :

Une table Personne :
Nom Prenom Age
toto titi 10
toto tata 20
titi tutu 30

Si tu fais :
SELECT Nom, Prenom, SUM(age) FROM personne GROUP BY Nom, Prenom, Age

ca va te renvoyer la même chose que :
SELECT Nom, Prenom, age FROM personne

car ton group by ne définit pas de groupe au final...

Par contre, si tu fais :
SELECT Nom, SUM(age) FROM personne GROUP BY Nom

là ca te renverra 2 enregistrements : les toto avec la somme de leur age, et le titi avec son age car le groupe porte sur le nom de famille.

Par contre, si tu fais :
SELECT Nom, Prenom, SUM(age) FROM personne GROUP BY Nom

Là ca te fait une erreur car il n'est pas possible d'avoir le nom ET le prénom alors que tu fais un groupe uniquement sur le nom de famille !

C'est ca ton erreur d'agrégat : tu essaye de faire un select d'un champ qui n'es pas dans le group by. Donc il faut bien réfléchir aux champs que tu as besoin, et quel groupe constituer.

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement

1 2

Cette discussion est classée dans : date, formulaire, champ, ordres, fabrication


Répondre à ce message

Sujets en rapport avec ce message

champ somme dans requete [ par elnico16 ] bonjour, je tente deséspérement de faire une requete avec un champ qui calcule la somme de mon champ (Montant ) mais cela ne marche pas : message d' champ somme dans requete [ par elnico16 ] bonjour, je souhaite faire un champ somme dans une requete et calculer le total de ma colonne "Montant" dont voici ma requete : [code=sql]SELECT [Ord Problème avec une requête sur une date [ par Egautier18 ] Bonjour, Dans le cadre d'un stage il me faut réaliser une base de donnée sous access. Je suis face à un problème que voici : J'ai créer un formulaire alias d'un champ [ par gigawatt ] BonjourQuelqu'un peut il apporter sa contribution svp:En fait j'explique: dans ma base faite sous foxpro en 198x ,j'ai un champ qui a comme nom ct_dte inserer un champ de type date systeme [ par jakarenda ] Bonjour , j'ai crée une table qui contient un champ que j'ai nomée "date", mon problème est : je veux lui attribuer un type de champ de façon à ce qu Mettre à jour champ Date [ par Elmarzougui ] Bonjour; J'ai une table PostgreSQL, je veux mettre à jour un champ de type DATE (YYYY-MM-JJ): Si les deux premier chiffres de [color=red]YY[/color]YY formulaire et traitement [ par audreysorelle ] Par défaut traitement des formulaires Bonjour, J'ai un très gros PB? là c'est chaud j'ai vraiment besoin d'aide. je vous envoie en fichie Comparaison de date locale et timestamp UTC sous Oracle [ par xtof35fr ] Bonjour, J'ai récupéré un schéma de base de donnée pas trop nickel. Dedans, je recupére 2 champs avec des infos de date/time: [list][*] un champ Nu HELP ! syntaxe pour inserer un champ de formulaire dans une requête SQL [ par bigondas ] je veux juste la syntaxe pour mettre dans une requête SQL un champ présent dans un formulaire, ça doit être du style FORMS![NOMDUFORMULAIRE]![NOMDUCHA Récupération Champ Formulaire [ par DanishTambouille ] BonjourCette requete qui marche à peu pres bien, n’affiche pas les deux champs qui sont renseignés dans le formulaire (Date_D et Date_F)Je précise que


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales