je veux utiliser un seul composant pour passer plusieurs requetes avec des parametrées, et je ne sais pas comment ecrire la requete en utilisant la propriete
Query.sql.text:= .....
avec ces parametres, indiquez moi please.
je veux utiliser un seul composant pour passer plusieurs requetes avec des parametrées, et je ne sais pas comment ecrire la requete en utilisant la propriete
Query.sql.text:= .....
avec ces parametres, indiquez moi please.
ben tout simplement ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Query.sql.text:= 'SELECT * FROM table WHERE champ = :valeur';
essaye la touche
Code : Sélectionner tout - Visualiser dans une fenêtre à part Query.Parameters.ParamByName('valeur').asVariant := 'truc';![]()
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
j'ai essayé avec ces commandes mais l'etat tojours sort en vide (sans données)
Etat ? QuickReport ? le DataSet est-il relié ?
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
bien sure
le probleme c'est quand j'utilise les deux premiers parametres il fonctionne tres bien, et quand je rajoute le troisieme (date2) ne marche pas, je ne sais pas comment faire pour regler ce probleme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 f.QMAntenne.Close; f.QMAntenne.SQL.Clear; f.QMAntenne.SQL.text:='Select t.antenne ,sum(q.montant) some from quittance q , titre t where ((q.codetitre=t.codetitre) and (q.anneeexercice =:anne) and (q.datequit between :date1 and :date2)) group by t.antenne order by some desc'; f.QMAntenne.Prepared:=true; f.QMAntenne.Parameters.ParamByName('anne').value:=DBLookupComboBox1.keyvalue; f.QMAntenne.Parameters.ParamByName('date1').value:=DateTimePicker1.Date; f.QMAntenne.Parameters.ParamByName('date2').value:=DateTimePicker2.Date; f.QMAntenne.Open; fenmantenne.quickrep1.preview;
Rajoute un ParamCheck := true dans le code (comme ci-dessous)
PS : Je me suis permis d'éclaircir ton code au passage ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 With f.QMAntenne do begin Close; SQL.Clear; SQL.text:='Select t.antenne ,sum(q.montant) some from quittance q , titre t where ((q.codetitre=t.codetitre) and (q.anneeexercice =:anne) and (q.datequit between :date1 and :date2)) group by t.antenne order by some desc'; ParamCheck := True; // au cas ou Prepared:=true; With Parameters do begin ParamByName('anne').value:=DBLookupComboBox1.keyvalue; ParamByName('date1').value:=DateTimePicker1.Date; ParamByName('date2').value:=DateTimePicker2.Date; end; Open; end; fenmantenne.quickrep1.preview;
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Effectivement, le Between est-il correctement géré ?
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
j'ai eu le meme probleme avec access quand j'utilise adoquery
ma conseille est
dans access pour les champs de type date/heure utilser le format date/abregé
puis avec adoquery utiliser la commande suivante:
adoquery1.parameters.parambyname('date').value:=datetostr(datetimepicker.date);
est ca marche surementmrgreen
Partager