DELPHI ET ACCESS /DBGRID

yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017 - 3 déc. 2007 à 09:11
vrachid Messages postés 109 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 octobre 2011 - 12 déc. 2009 à 09:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44886-delphi-et-access-dbgrid

vrachid Messages postés 109 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 octobre 2011
12 déc. 2009 à 09:27
bonjour à tous,
j'ai le même probleme de filtrage par date dans requete sql,
j'ai essayé la solution proposé par cantador, mais sans résultat, je reçois toujours un message d'erreur indiquant paramètre introuvable ('param') que j'ai créé sur l'AdoQuery
par contre quand je met deux paramètre et j'utilise la requete BETWEEN :parm1 and param2, ça marche.

voici le code qui fonctionne:
begin
Close;
SQL.Clear;
SQL.Add('SELECT * From recette where Date BETWEEN :Date1 and :Date2');
Parameters.ParseSQL(QrCaisse.SQL.Text, True);
Parameters.ParamByName('Date1').Value:=DateTimePicker1.Date;
Parameters.ParamByName('Date2').Value:=DateTimePicker2.Date;
Open;
ExecSql;
end;

et celui qui ne fonctionne pas
begin
Close;
SQL.Clear;
SQL.Add('SELECT * From recette where Date :=Date1');
Parameters.ParseSQL(QrCaisse.SQL.Text, True);
Parameters.ParamByName('Date1').Value:=DateTimePicker1.Date;
Open;
ExecSql;
end;

merci pour votre aide.
kahloch Messages postés 1 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 21 juillet 2008
1 févr. 2008 à 01:03
tres bien
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
5 déc. 2007 à 19:00
Salut aghtor,

C'est un exercice sur les requêtes SQL ACCESS..
Il y a bcp de tutos à ce sujet un peu partout sur le net..
Le mieux est encore d'utiliser des requêtes paramétrées :
"Where ChampDate =:param"
AdoQuery1.ParamByName('param').Value := DonneeDateHeure;
ce qui offre un traitement plus aisé des données et une simplification du SQL..
et peut-être même un poil de rapidité en plus à l'exécution..
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
3 déc. 2007 à 09:11
Bonjour,

Bon exemple ACCESS avec SQL

Par contre initialiser ADOConnection1.ConnectionString à l'exécution si la base access existe
Ce qui permet en plus de chamger de base ACCESS.
Voir pour cela mon exemple avec excel.
redimentionner la dggrille afin qu'elle soit lisible dbgrid1.Columns[i].width := 1...

Salutations
Rejoignez-nous