Recherche d'une base de donnée [Résolu]

Signaler
Messages postés
42
Date d'inscription
dimanche 12 juin 2011
Statut
Membre
Dernière intervention
19 octobre 2011
-
Messages postés
42
Date d'inscription
dimanche 12 juin 2011
Statut
Membre
Dernière intervention
19 octobre 2011
-
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

Messages postés
1
Date d'inscription
lundi 10 octobre 2011
Statut
Membre
Dernière intervention
11 octobre 2011

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.
Messages postés
189
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
2 octobre 2014
1
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.
Messages postés
42
Date d'inscription
dimanche 12 juin 2011
Statut
Membre
Dernière intervention
19 octobre 2011

Bonsoir jderf
le format est dd-mm-yyyy
j'ai essayé mais une message d'erreur type mismatch in expression
Messages postés
20
Date d'inscription
dimanche 16 juillet 2006
Statut
Membre
Dernière intervention
22 mars 2012
1
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++
Messages postés
20
Date d'inscription
dimanche 16 juillet 2006
Statut
Membre
Dernière intervention
22 mars 2012
1
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++
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Moien,

ne pas oublier :

between var1 and var2 en sql

Luc
Messages postés
42
Date d'inscription
dimanche 12 juin 2011
Statut
Membre
Dernière intervention
19 octobre 2011

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
Messages postés
20
Date d'inscription
dimanche 16 juillet 2006
Statut
Membre
Dernière intervention
22 mars 2012
1
re
mettre ton code dans le forum pour t'aider
Messages postés
42
Date d'inscription
dimanche 12 juin 2011
Statut
Membre
Dernière intervention
19 octobre 2011

merci , c'est ok