Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1057 connectés 

  FORUM HardWare.fr
  Programmation

  code à verifier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

code à verifier

n°22691
bono
Posté le 05-04-2001 à 18:55:09  profilanswer
 

procedure TForm8.Button3Click(Sender: TObject);  
var  
sReference, sDateDebut, sDateFin : string;  
begin  
sReference:= InputBox('Saisie', 'Référence ?', '');  
sDateDebut:= InputBox('Saisie', 'Date Début ?', '');  
sDateFin:= InputBox('Saisie', 'Date Fin ?', '');  
 
qryNbArticle.ParamByName(('Ref').AsString) := sReference;  
qryNbArticle.ParamByName(('DateDebut').AsString) := sReference;  
qryNbArticle.ParamByName(('DateFin').AsString) := sReference;  
 
qryNbArticle.Open;  
 
if qryNbArticle.FindFirst then  
ShowMessage(qryNbArticle.FieldByName('Nb'.AsString));  
 
 
select  
count(1) nb  
from  
ENDT  
where  
reference = :ref and  
date_entree >= datedebut and  
date_entree <= datefin  
end;  
 
end.  
 
 
 
 
voici la liste des erreurs  
 
[Erreur] Unit8.pas(92): Identificateur non déclaré : 'qryNbArticle'  
[Erreur] Unit8.pas(92): Opérateur ou point-virgule manquant  
[Erreur] Unit8.pas(92): Type Record, Object ou Class requis  
[Erreur] Unit8.pas(98): ';' attendu(e) mais 'IF' trouvé(e)  
[Erreur] Unit8.pas(110): '.' attendu(e) mais ';' trouvé(e)  
[Erreur fatale] roca.dpr(13): Ne peut compiler l'unité utilisée 'Unit8.pas'  
 
Comprend pas

mood
Publicité
Posté le 05-04-2001 à 18:55:09  profilanswer
 

n°22705
bono
Posté le 05-04-2001 à 20:14:21  profilanswer
 

s'il vous plait, de l'aide

n°22706
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 20:25:02  profilanswer
 

[Erreur] Unit8.pas(92): Identificateur non déclaré : 'qryNbArticle'  
il ne trouve pas ton object Query, pose z'en un  sur ta form ou sur ton datamodule
 
juste une question  

Citation :

select  
count(1) nb  
from  
ENDT  
where  
reference = :ref and  
date_entree >= datedebut and  
date_entree <= datefin  
end;  


CE KOI CA ????
tu mets ta requete directos a plat dans le code ???? t'as de l'espoir ! ;)
 
serieux, regarde l'aide de delphi sur les access aux bases de donnees ...
 
bonne chance  
 :hello:


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22709
AlphaT
Posté le 05-04-2001 à 20:46:21  profilanswer
 

La requête SQL doit être tapée dans l'inspecteur d'objet, plus précisément la propriété SQL du composant TQuery. On peut aussi initialiser cette propriété en éxécution (dans son code) mais c'est plus compliqué.

n°22711
bono
Posté le 05-04-2001 à 20:49:33  profilanswer
 

Moi c'est en cliquant sur le bouton qu'il doit me poser 3 questions et en fonction des reponses il effectue la requete.
Donc pour vous le code est faut ????

n°22713
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 20:54:24  profilanswer
 

carrement... on a l'impression que t'as recupere les bouts de codes des reponses du topic precedent et que tu les as colles a la barbare dans l'editeur delphi !
 
donc deja faut que tu poses un TQuery dans ta form/datamodule et apres tu mets le code SQL dans la propriete SQL du TQuery (cf post de AlphaT) et apres tu devrais etre bon...


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22716
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 20:56:04  profilanswer
 

et au fait la requete exacte c'est:
 
select  
count(1) nb  
from  
ENDT  
where  
reference = :ref and  
date_entree >= : datedebut and  
date_entree <= : datefin  
end;  
 
il manquait les : devant datedebut et datefin (et enleve l'espace que j'ai du ajoute entre le : et d

 

[edit]--Message édité par JWhy--[/edit]


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22717
AlphaT
Posté le 05-04-2001 à 20:59:10  profilanswer
 

D'après moi, le end; à la fin de la commande sql est inutile.
 
De plus les paramètres datedebut et datefin on doit leur indiquer qu'ils sont de type TDatetime sinon Delphi n'aimera pas. Pour ça, c'est la propriété Params.

 

[edit]--Message édité par AlphaT--[/edit]

n°22720
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 21:06:33  profilanswer
 

toutafait...
 
tu peux faire ca pour les date/time:
qryNbArticle.ParamByName('Ref' ).AsString := sReference;  
qryNbArticle.ParamByName('DateDebut' ).AsDateTime:= StrToDateTime(sDateDebut);  
qryNbArticle.ParamByName('DateFin' ).AsDateTime := StrToDateTime(sDateFin);
 
devrait etre mieux...


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22724
bono
Posté le 05-04-2001 à 21:13:27  profilanswer
 

Bon voila le prob, pour l'instant je n'ai pas mis de query sur la form
 
J'ai un bouton3 qui doit lancer les 3 inputBox
Avec les 3 réponses le prog doit calculer le nombre d'entrées pendant cette période.
Ok ?
 
qryNbArticle n'est pas déclaré, où dois je le déclarer ??
 
Le morceau en SQL, je le met où ???
Apparamment pas de le script de la form, mais plutot dans un query ???
 
Merci pour votre aide

mood
Publicité
Posté le 05-04-2001 à 21:13:27  profilanswer
 

n°22726
AlphaT
Posté le 05-04-2001 à 21:17:28  profilanswer
 

oui dans un TQuery sinon tu seras obligé d'ajouter du code supplémentaire pour l'ajouter manuellement.

n°22728
bono
Posté le 05-04-2001 à 21:28:21  profilanswer
 

qryNbArticle
cela pose des prob, est ce bon ??
 
ce n'est pas plutot un truc du genre
 
Query1NbarticleParamByName(('Ref'.AsString) := sReference; ????

n°22729
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 21:31:16  profilanswer
 

oh puree... :ouch:  
 
par defaut... quand tu poses un TComposant, delphi te le renomme Composant1... donc par exemple tu poses une TQuery ==> ca va donner Query1... a toi de le renommer (propriete Name du composant) en qqchose de plus parlant... par exemple qryNbArticle...
 
ps: depeche toi de trouver un bouquin/cours sur Delphi !!!


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22731
bono
Posté le 05-04-2001 à 21:38:25  profilanswer
 

Merci c'est mieux,
Il reste 1 erreur sur cette ligne
ShowMessage(qryNbArticle.FieldByName('Nb'.AsString));
 
Il me dit que type record, object ou class requis

n°22732
AlphaT
Posté le 05-04-2001 à 21:40:58  profilanswer
 

> Jwhy  ;)
 
Voici un code fait pour un composant Tquery (N.B ton code peut ressembler un peu à ça, il s'agit d'un exemple!)
 
Procedure TForm1.button1Click(Sender: TObject);
var  
sReference, sDateDebut, sDateFin : string;  
begin
 /* Saisie des dates */
 sDateDebut:= InputBox('Saisie', 'Date Début ?', '';  
 sDateFin:= InputBox('Saisie', 'Date Fin ?', '';  
 
 if qNbArticle.State <> dsInactive    //vérification si ouvert
   then qNbArticle.Close;     //fermeture
 else begin  
   qNbArticle.ParamByName('Ref' ).AsString := sReference;  
   qNbArticle.ParambyName('DateDebut' ) := strToDate(sDatedebut)
   qNbArticle.ParambyName('Datefin' ) := strToDate(sDateFin)
 end;
 qNbArticle.Open;   //ouverture
end;

 

[edit]--Message édité par AlphaT--[/edit]

n°22733
AlphaT
Posté le 05-04-2001 à 21:42:09  profilanswer
 

bono a écrit a écrit :

Merci c'est mieux,
Il reste 1 erreur sur cette ligne
ShowMessage(qryNbArticle.FieldByName('Nb'.AsString));
 
Il me dit que type record, object ou class requis




 
Le résultat de la réquête, tu ne l'affiche pas comme ça mais dans un composant TDBGrid que tu place également sur ta fiche. Sa propriété DataSource doit être le nom du composant TDatasource relié au composant TQuery.

 

[edit]--Message édité par AlphaT--[/edit]

n°22734
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 21:44:11  profilanswer
 

bono a écrit a écrit :

Merci c'est mieux,
Il reste 1 erreur sur cette ligne
ShowMessage(qryNbArticle.FieldByName('Nb'.AsString));
 
Il me dit que type record, object ou class requis




 
ShowMessage(qryNbArticle.FieldByName('Nb' ).AsString);
 
pb de placement de la parenthese fermante...


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22735
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 21:44:34  profilanswer
 

mais c'est sur que dans un TDBGrid ca sera plus beau ;)


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22736
bono
Posté le 05-04-2001 à 21:52:46  profilanswer
 

je ne peux pas l'afficher avec un showmessage ???
 
procedure TForm8.Button3Click(Sender: TObject);
var
sReference, sDateDebut, sDateFin : string;
begin
sReference:= InputBox('Saisie', 'Référence ?', '');
sDateDebut:= InputBox('Saisie', 'Date Début ?', '');
sDateFin:= InputBox('Saisie', 'Date Fin ?', '');
 
qryNbArticle.ParamByName('Ref' ).AsString := sReference;
qryNbArticle.ParamByName('DateDebut' ).AsDateTime:= StrToDateTime(sDateDebut);
qryNbArticle.ParamByName('DateFin' ).AsDateTime := StrToDateTime(sDateFin);
 
qryNbArticle.Open;
 
if qryNbArticle.FindFirst then
ShowMessage(qryNbArticle.FieldByName('Nb').AsString);
 
Plus d'erruers à la compil,merci, mais en cliquant sur le bouton il ne me lance pas la procédure
pourquoi ???

n°22737
AlphaT
Posté le 05-04-2001 à 21:54:57  profilanswer
 

Citation :


je ne peux pas l'afficher avec un showmessage ???  


 
NON! :D
 

Citation :


Plus d'erruers à la compil,merci, mais en cliquant sur le bouton il ne me lance pas la procédure  
pourquoi ???


 
Regarde mon code plus haut, tu comprendras!!

 

[edit]--Message édité par AlphaT--[/edit]

n°22738
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 21:55:38  profilanswer
 

verifie que l'evenement est bien associe a la procedure (selectionne ton composant, touche f11, onglet events, evenement onClick... )
et mets un point d'arret sur la premiere ligne de ton code:

  • sReference:= InputBox('Saisie', 'Référence ?', '' );


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22739
bono
Posté le 05-04-2001 à 22:06:34  profilanswer
 

Il me pose bien les 3 questions
L'evenement onclick n'etait pas activé,
Mais (eh oui)
Il plante pour la reponse

n°22740
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 22:19:04  profilanswer
 

il te dit quoi comme erreur ?


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22741
bono
Posté le 05-04-2001 à 22:21:39  profilanswer
 

erreur sql generale
 
ereur de sy,ntaxe dans l'expression count(Quantité_entree) nb

n°22742
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 22:25:00  profilanswer
 

je connais pas ta table mais verifie si ta requete est bonne
 
dans un premier temps, essaye d'utiliser ca pour voir si ca marche:

Citation :


select count(*) nb    
from ENDT    
where reference = :ref  
and date_entree >= datedebut  
and date_entree <= datefin      


 
ps: tu as bien une table ENDT avec des colonnes REFERENCE et  DATE_ENTREE ???

 

[edit]--Message édité par JWhy--[/edit]


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22743
bono
Posté le 05-04-2001 à 22:30:58  profilanswer
 

erreur
 
message qrynbarticle: parametre DateDebut non trouvée

n°22744
bono
Posté le 05-04-2001 à 22:32:55  profilanswer
 

sReference:= InputBox('Saisie', 'Référence ?', '');
sDateDebut:= InputBox('Saisie', 'Date Début ?', '');
sDateFin:= InputBox('Saisie', 'Date Fin ?', '');
 
qryNbArticle.ParamByName('Ref' ).AsString := sReference;
qryNbArticle.ParamByName('DateDebut' ).AsDateTime:= StrToDateTime(sDateDebut);
qryNbArticle.ParamByName('DateFin' ).AsDateTime := StrToDateTime(sDateFin);
Est ce que référence dans la partie du haut= ref dans la partie dud bas ??

n°22746
JWhy
je peux plier (héhé)
Posté le 05-04-2001 à 22:49:34  profilanswer
 

dans la propriete SQL de ta Query, rajoute : devant datedebut  
et datefin


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°22748
bono
Posté le 05-04-2001 à 23:00:09  profilanswer
 

Maintenant, c'est erreur de syntaxe dans count(*) nb
Je n'y arriverais donc jamais, enfin je vous remercie pour votre aide.

n°22751
bono
Posté le 05-04-2001 à 23:32:33  profilanswer
 

j'ai mis la ligne
sum(quantité_Entree)Nb
 
Et maintenant j'ai l'erruer
erreur de syntaxe (opérateur absent) dans l'expression 'sum(Quantité_Entree) Nb'
 
Est ce mieux comme erreur

n°22758
bono
Posté le 05-04-2001 à 23:43:52  profilanswer
 

j'ai mis la valeur true à la propriete requestlive du query, maintenant je une erreur comme quoi la table est en lecture seule.
 
Help

n°22821
bono
Posté le 06-04-2001 à 09:41:35  profilanswer
 

allez please, un dernier effort ???

n°22960
AlphaT
Posté le 06-04-2001 à 14:35:49  profilanswer
 

bono a écrit a écrit :

j'ai mis la ligne
sum(quantité_Entree)Nb
 
Et maintenant j'ai l'erruer
erreur de syntaxe (opérateur absent) dans l'expression 'sum(Quantité_Entree) Nb'
 
Est ce mieux comme erreur




 
Nb est-il un nom de champ? Si oui, il doit y avoir une virgule après sum (qte_entree) pour les séparer. Si non, tu le barres.

 

[edit]--Message édité par AlphaT--[/edit]

n°22998
JWhy
je peux plier (héhé)
Posté le 06-04-2001 à 16:51:26  profilanswer
 

si j'ai bien compris, "Nb" est un alias pour count(*) ou Sum(), c'est pour y acceder via le ParamByName() dans Delphi...


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°23000
JWhy
je peux plier (héhé)
Posté le 06-04-2001 à 16:52:39  profilanswer
 

Bono> le plus simple c'est que tu testes ta requete dans Access ou autres (je ne sais pas quelle BD tu utilises) et une fois que ca marche, tu la copies/colles dans la propriete du TQuery


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°23856
bono
Posté le 11-04-2001 à 08:58:59  profilanswer
 

Encore moi, avec le meme prob, là je suis bloqué,
 
procedure TForm8.Button3Click(Sender: TObject);
var
sReference, sDateDebut, sDateFin : string;
begin
sReference:= InputBox('Saisie', 'Référence ?', '');
sDateDebut:= InputBox('Saisie', 'Date Début ?', '');
sDateFin:= InputBox('Saisie', 'Date Fin ?', '');
 
qryNbArticle.ParamByName('Ref' ).AsString := sReference;
qryNbArticle.ParamByName('DateDebut' ).AsDateTime:= StrToDateTime(sDateDebut);
qryNbArticle.ParamByName('DateFin' ).AsDateTime := StrToDateTime(sDateFin);
 
qryNbArticle.Open;
 
{if qryNbArticle.FindFirst then
ShowMessage(qryNbArticle.FieldByName('Nb').AsString);}
if not qrynbArticle.isEmpty then
ShowMessage(IntToStr(qryNbArticle.RecordCount));
End;
 
 
Voici la requete :
 
Select Sum(Quantité_Entree) from ENDT
where (reference=:ref)
and(date_entree>=:datedebut)
and(date_entree<=:datefin)
 
 
Voici l'erreur :
 
erreur sql, trop peu de parametre
4 attendu
 
 
 
Merci pour l'aide.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  code à verifier

 

Sujets relatifs
c quoi le code de la fonction hasard en visual basic?[JAVA] je cherche un bon éditeur de code, c koi le mieux???
CODE SOURCE "JEU PENDU" URGENTPourquoi mon code en C++ builder ne fonctionne pas ???
Koment verifier rapidement kun nombre est premier???Appel à différent fichiers code
code ascii des flèches[on sait jamais] code source de ...
Livre d'or... code[javascript] ce code est-il correct?
Plus de sujets relatifs à : code à verifier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR