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

ayadi001 42 Messages postés dimanche 12 juin 2011Date d'inscription 19 octobre 2011 Dernière intervention - 5 oct. 2011 à 15:35 - Dernière réponse : ayadi001 42 Messages postés dimanche 12 juin 2011Date d'inscription 19 octobre 2011 Dernière intervention
- 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.
Afficher la suite 

9 réponses

Répondre au sujet
buho21 1 Messages postés lundi 10 octobre 2011Date d'inscription 11 octobre 2011 Dernière intervention - 11 oct. 2011 à 15:00
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de buho21
jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 5 oct. 2011 à 16:17
0
Utile
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.
Commenter la réponse de jderf
ayadi001 42 Messages postés dimanche 12 juin 2011Date d'inscription 19 octobre 2011 Dernière intervention - 5 oct. 2011 à 16:53
0
Utile
Bonsoir jderf
le format est dd-mm-yyyy
j'ai essayé mais une message d'erreur type mismatch in expression
Commenter la réponse de ayadi001
cs_kroma23 20 Messages postés dimanche 16 juillet 2006Date d'inscription 22 mars 2012 Dernière intervention - 6 oct. 2011 à 10:41
0
Utile
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++
Commenter la réponse de cs_kroma23
cs_kroma23 20 Messages postés dimanche 16 juillet 2006Date d'inscription 22 mars 2012 Dernière intervention - 6 oct. 2011 à 10:46
0
Utile
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++
Commenter la réponse de cs_kroma23
beckerich 309 Messages postés jeudi 29 septembre 2005Date d'inscription 17 septembre 2013 Dernière intervention - 7 oct. 2011 à 12:57
0
Utile
Moien,

ne pas oublier :

between var1 and var2 en sql

Luc
Commenter la réponse de beckerich
ayadi001 42 Messages postés dimanche 12 juin 2011Date d'inscription 19 octobre 2011 Dernière intervention - 9 oct. 2011 à 10:44
0
Utile
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
Commenter la réponse de ayadi001
cs_kroma23 20 Messages postés dimanche 16 juillet 2006Date d'inscription 22 mars 2012 Dernière intervention - 10 oct. 2011 à 15:32
0
Utile
re
mettre ton code dans le forum pour t'aider
Commenter la réponse de cs_kroma23
ayadi001 42 Messages postés dimanche 12 juin 2011Date d'inscription 19 octobre 2011 Dernière intervention - 11 oct. 2011 à 15:32
0
Utile
merci , c'est ok
Commenter la réponse de ayadi001

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.