Comparaison entre 2 date sur sql [Résolu]

Messages postés
37
Date d'inscription
lundi 23 août 2010
Dernière intervention
18 avril 2014
- - Dernière réponse : sharifcrd
Messages postés
37
Date d'inscription
lundi 23 août 2010
Dernière intervention
18 avril 2014
- 3 sept. 2010 à 10:19
sharif
Select *
From "E:\MAINTENANCE\DataBase\Capteur.dbf"
Where REPARE_LE > '01/02/2000' AND REPARE_LE < '28/03/2001'

en executant cette commande DELPHI m'affiche un mesdsage d'erreur
'TYPE MISMATCH IN EXPRESSION'
par contre si je change les dates ca marche : exemple
Select *
From "E:\MAINTENANCE\DataBase\Capteur.dbf"
Where REPARE_LE > '01/02/2000' AND REPARE_LE < '28/03/2005'
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
260
Date d'inscription
lundi 27 octobre 2003
Dernière intervention
4 mars 2016
3
Merci
Salut,
type
    ODBCDateTimeFormats = ( FormatDate, FormatHeure, FormatDateHeure);

//Fonction pour mettre date et heure au format sql
function DateTimeToODBCDatetime(DateTime: TDateTime; Format: ODBCDateTimeFormats):string;
begin
    case Format of
        FormatDate : Result := #123' d ' +QuotedStr(FormatDateTime('yyyy-mm-dd',DateTime))+'}';
        FormatHeure: Result := #123' t ' +QuotedStr(FormatDateTime('hh:nn:ss',DateTime))+'}';
        FormatDateHeure : Result := #123' ts '+QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss',DateTime))+'}';
    end;
end;

procedure ...
begin
    ...
    ADOQuery1.Close;
    ADOQuery1.SQL.Text:='SELECT Table.DJourn FROM Table WHERE (DJourn > '+DateTimeToODBCDatetime(StrToDateDef('31/07/2010',Now),FormatDate)+
        ' AND DJourn < '+DateTimeToODBCDatetime(StrToDateDef('01/09/2010',Now),FormatDate)+')';
    ADOQuery1.Open;
    ...
end;
Retourne les dates d'août. 

@+Yanb

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_yanb
Messages postés
37
Date d'inscription
lundi 23 août 2010
Dernière intervention
18 avril 2014
0
Merci
sharif
bien recu; je te remerci infiniment
mais malhuereusement ce code ne fonctionne pas chez moi
car avec ADOQuery; delphi envoi 1 message d'erreur "missing connection or connectio string"
et avec QUERY; delphi envoi 1 message d'erreur "Invalide uses of keyword, Token: d; Line Number 1."
voici le code avec query
///////////////////////////////////////////////
procedure TForm1.Button8Click(Sender: TObject);
begin
Query1.active := false;
Query1.SQL.Clear;
Query1.SQL.Text:='SELECT * FROM "E:\MAINTENANCE\DataBase\Capteur.dbf" WHERE (REPARE_LE > '+DateTimeToODBCDatetime(StrToDateDef('11/09/2002',Now),FormatDate)+
' AND REPARE_LE < '+DateTimeToODBCDatetime(StrToDateDef('01/09/2006',Now),FormatDate)+')';
Query1.active := true;
end;
////////////////////////////////////////////

mais; veuilliez m'expliquer c qouio la diff entre query et adoquery

*******************************************************************
une autre qustion
je veut recuperer une valeur de EDIT1.TEXT et l'injecter dans une reqete
mais comment faire pour avoir les resultas de la recherche sans tenir compte des majiscule et minisculdans le edit1.text exemple
pour edit1.text= 'Bon' ou edit1.text='bon' ou edit1.text='BOn' ext..
les resultas doivent etre les meme
*************************************************************************
comment faire pour avoir une DataBase partagee sur plusieur station avec plusier application
en evitant violation d'acces
merci encore
Commenter la réponse de sharifcrd

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.