Recherche d'une base de donnée

Résolu
ayadi001 Messages postés 42 Date d'inscription dimanche 12 juin 2011 Statut Membre Dernière intervention 19 octobre 2011 - 5 oct. 2011 à 15:35
ayadi001 Messages postés 42 Date d'inscription dimanche 12 juin 2011 Statut Membre Dernière intervention 19 octobre 2011 - 11 oct. 2011 à 15:32
Bonjour
j'ai une application base de donnée, les tables en paradox,
je veux afficher les données entre deux dates
comment la requete s'écrit-il ?

a savoir 'Date' type D .
l'orsque je saisi dans deux edit 1 et 2.
c'est a dire a chaque fois l'intervalle elle change.
voici c'est qui j'ai fait:
query1.close;
query1.sql.clear;
query1.sql.add('select * from table ');
query1.sql.add('where Date >= '''+edit1.text+'''');
query1.sql.add('and date <='''+edit2.text+'''');
quer1.open;

mais ca marche pas.

9 réponses

buho21 Messages postés 1 Date d'inscription lundi 10 octobre 2011 Statut Membre Dernière intervention 11 octobre 2011
11 oct. 2011 à 15:00
Soyez prudent avec la requête, comme vous l'appelez en dehors la place de la requête:

query1.close;
query1.clear;

query1.sql.add ('Select * From Table ' +
'Where Date1 >= :dd1 and date2 <= :dd2' );

query1.ParamByName( 'dd1' ) AsDate := StrToDate( Edit1.Text );
query1.ParamByName( 'dd2' ) AsDate := StrToDate( Edit2.Text );

query1.Open;


Si vous utilisez ADO et enquêtes propriété est vraie:

Query1.Parameters.ParamByName (...


Une salutation.
3
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
5 oct. 2011 à 16:17
Bonjour,

Tu dois founir dans ta requete un format compatible avec celui de la BD.

'where Date >=''' + FormatDateTime('yyyy/mm/dd',StrToDate(Edit1.text)) + '''';

A vérifier si Date dans Paradox est de de type 'yyyy/mm/dd' sinon il faut adapter dans la requete.

Jean.
0
ayadi001 Messages postés 42 Date d'inscription dimanche 12 juin 2011 Statut Membre Dernière intervention 19 octobre 2011
5 oct. 2011 à 16:53
Bonsoir jderf
le format est dd-mm-yyyy
j'ai essayé mais une message d'erreur type mismatch in expression
0
cs_kroma23 Messages postés 20 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 22 mars 2012 1
6 oct. 2011 à 10:41
Salut
pourquoi tu utilse pas des parametre ces mieux pour ton probleme et plus pratique
voila la requette
----------------------
query1.close;
query1.clear;
query.sql.add('select * from table');
query1.sql.add('where date1>=:dd1 and date2<=:dd2');
parambyname('dd1').asdate:=strtodate(edit1.text);
parambyname('dd2').asdate:=strtodate(edit2.text);
query1.open;
-----------------------
a++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_kroma23 Messages postés 20 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 22 mars 2012 1
6 oct. 2011 à 10:46
Re
au lieu de date1 et date2 en met le champ date
je m'exuse pour cette faute
--------------------
query1.sql.add('where date>=:dd1 and date<=:dd2');
----------------------
a++
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
7 oct. 2011 à 12:57
Moien,

ne pas oublier :

between var1 and var2 en sql

Luc
0
ayadi001 Messages postés 42 Date d'inscription dimanche 12 juin 2011 Statut Membre Dernière intervention 19 octobre 2011
9 oct. 2011 à 10:44
Bonjour,
j'ai fais comme vous me dites , mais
une message d'erreur: Parameter 'dd1' not found
comment je déclare les deux parametres

merci bien
0
cs_kroma23 Messages postés 20 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 22 mars 2012 1
10 oct. 2011 à 15:32
re
mettre ton code dans le forum pour t'aider
0
ayadi001 Messages postés 42 Date d'inscription dimanche 12 juin 2011 Statut Membre Dernière intervention 19 octobre 2011
11 oct. 2011 à 15:32
merci , c'est ok
0
Rejoignez-nous