begin process at 2010 03 18 19:41:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

Access

 > 

Requête qui ne marche pas...et query


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête qui ne marche pas...et query

Echange clos Echange clos, plus de réponse possible sur cet échange

mercredi 28 novembre 2007 à 16:45:10 | Requête qui ne marche pas...et query

810mcu

De l'aide SVP,
Bonjour a tous, voila


Matable a/ Access en D6

champDate

 

J'écris le query,

Edit50 et Edit51 on respectivement date début et fin

query.SQL.Add('matable.champdate >= '+ Edit50.Text +' ');

et

query.SQL.Add('matable.champdate <= '+ Edit51.Text +' ');

 

le query me donne

select

matable.*

FROM

matable

Where

matable.champdate >= 01/05/2005

and

matable.champdate <= 31/05/2005

 

ça ne marche pas, par ce que je peut comprendre il n'interprète pas le Edit50.text comme étant 1 date mais oui un texte (aussi cet edit reçoit ça date a partir datatimer)

j'ai aussi essayer avec «'''» ça ne marche tj pas...

 

de l'aide SVP, ou est-ce que je me goure.
Merci a tous
810mcu

mercredi 28 novembre 2007 à 16:50:31 | Re : Requête qui ne marche pas...et query

810mcu

j'ai aussi essayer avec

query.SQL.Add('matable.champdate >= '+ QuotedStr(Edit50.Text) +' ');

et

query.SQL.Add('matable.champdate <= '+ QuotedStr(Edit51.Text) +' ');

tj negatif...

mercredi 28 novembre 2007 à 16:50:39 | Re : Requête qui ne marche pas...et query

810mcu

j'ai aussi essayer avec

query.SQL.Add('matable.champdate >= '+ QuotedStr(Edit50.Text) +' ');

et

query.SQL.Add('matable.champdate <= '+ QuotedStr(Edit51.Text) +' ');

tj negatif...

mercredi 28 novembre 2007 à 17:56:00 | Re : Requête qui ne marche pas...et query

Oniria

BOnjour,

les dates en sql s'écrivent pour 22/11/2007 , elles s'écrivent : 2007-11-22, sinon, tes deux comparaisons de dates, met les dans des parenthéses comme ca :

select

matable.*

FROM

matable

Where

((matable.champdate >= 2005-05-01)

and

(matable.champdate <= 2005-05-05))


j'ai déja eu se probléme avec MySQL.



Oniria
mercredi 28 novembre 2007 à 18:12:34 | Re : Requête qui ne marche pas...et query

810mcu


la il execute le query mais ne trouve rien comme resultat ??? et je suis sur qu'il y a des données, certain !!!!

select
matable.*

FROM
matable
Where
(matable.champdate>=01/05/2005 )
and
(matable.champdate<=28/11/2007 )
order by champdate

avec comme code
query.SQL.Add('(matable.date>='+ Edit50.Text +' )');
et
query.SQL.Add('(matable.date<='+ Edit51.Text +' )');

810mcu

mercredi 28 novembre 2007 à 18:36:56 | Re : Requête qui ne marche pas...et query

810mcu

la aussi la requete s'execute mais tj pas de resultat ???
étrange tout ça....... et mon champdate et bel et bien une date,
select
matable.*

FROM
matable
Where
((matable.champdate>=01/05/2005 )
and
(matable.champdate<=28/11/2007 ))
order by champdate

avec comme code
query.SQL.Add('((matable.champdate>='+ Edit50.Text +' )');
et
query.SQL.Add('(matable.champdate<='+ Edit51.Text +' ))');

sur une autre requete j'utilise
query.SQL.Add('matable.data_export Like ' + QuotedStr(Label75.Caption) + ' ');
et ça passe comme sur des roulettes a rien comprendre, 1 champ aussi date sur le format (jj/mm/aaaa) vraiment a rien comprendre

810mcu

mercredi 28 novembre 2007 à 22:36:16 | Re : Requête qui ne marche pas...et query

Delphiprog

Administrateur CodeS-SourceS
@810mcu : relis calmement la réponse d'Oniria ci-dessus et arrête de flooder stp.


May Delphi be with you !

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
jeudi 29 novembre 2007 à 12:36:17 | Re : Requête qui ne marche pas...et query

pers

Membre Club
Salut

La syntaxe ne serait pas plutôt

select

matable.*

FROM

matable

Where

matable.champdate >= #01/05/2005#

and

matable.champdate <= #31/05/2005#

Bonne journée
jeudi 29 novembre 2007 à 15:02:16 | Re : Requête qui ne marche pas...et query

Keneda

Réponse acceptée !
Salut 810Mcu
 
utilise des paramètres dans ta query tu ne seras plus ennuyé par ton formatage
les champs dates sont des réels pour Delphi (comme d'ailleurs la plupart des moteur de base de données) un TDateTime sous Delphi est un réel dont la partie entière représente le nombre de jour depuis le 30/12/1899 et la partie décimale la portion d'heure depuis "l'allumage" de ton pc

enfin, revenons à nos moutons dans un TQuery, un TADOQuery, peut importe dans un Query
de Delphi, tu peux employer des paramètres pour ne pas être ennuyer avec le transtypage.

un paramètre peux avoir n'importequel nom il doit être précédé de ":" (deux point) juste devant
(sans espace, collé au nom)  ici, on aura besoin de deux paramètres:

 :DateDebut et :DateFin (car tu veux un ensemble de données dans un interval de date donnée)

ta requête donne ça:

Query.SQL.Add('SELECT matable.* FROM matable');
Query.SQL.Add('Where matable.champdate >= :DateDebut');
Query.SQL.Add('and      matable.champdate <= :DateFin');

ensuite, il faut affecter les valeurs à tes paramètres

via un TQuery tu auras (attention, ici, il ne faut plus mettre les 2 points)

Query.ParamByName('DateDebut').AsDateTime:= StrToDate(Edit50.Text);
Query.ParamByName('DateFin').AsDateTime    := StrToDate(Edit51.Text);

Ensuite tu fais ton Query.Open;

via un TAdoQuery, il faudra passer par un variant

Query.Parameters.ParamByName('DateDebut').Value:= StrToDate(Edit50.Text);
Query.Parameters.ParamByName('DateFin').Value    := StrToDate(Edit51.Text);

puis tu fais ton Query.Open;

Le traitement sur les dates et toujours difficile, il vaut mieux travailler avec des réels
et traiter les dates dans le source plutôt que de traiter des dates directement dans le SGBDR
car si tu as un programme international tu seras toujours ennuyé avec les paramètres régionaux
(séparateur de date, format de date, etc.)

Voila, j'espère avoir pu t'aider, n'hésites pas dans le cas contraire

bon courage à tous

Keneda
 


Keneda, la fusée rouge
Keneda, la fusée rouge
jeudi 29 novembre 2007 à 18:06:33 | Re : Requête qui ne marche pas...et query

810mcu

Salut à tous,
Je tiens à remercier tout le monde,

De vs critiques, suggestion et aide.

 

Apres mil et une tentatives et essais je me suis rendu a l'évidence que

La procédure la plus efficace dans la plus part des cas serais bel et bien celle

Propose par Keneda (pour éviter tout ce qu'il a cité)

que je remercie comme a vous tous également

merci à tous
810mcu.



Cette discussion est classée dans : date, marche, query, champdate, edit50


Sujets en rapport avec ce message

query [ par jms29 ] Bonjour,en fait j'ai deux questions.-Tout d'abord, je voudrais bien savoir quelle sytnaxe il faut utilisé pour imbriqué deux select l'un dans l'autre, sql requétte [ par lotficrew ] _Bon salut je voudrais signaler mon problem aux pré des connésseur de delphi et en base de donnée j'ai utiliser une requéte pour l'affichage des artic Pourquoi ca marche pas? [ par magicvinni ] Et une deuxième question : pourquoi cette routine ne marche pas? (je voudrais convertir un string en date et si ca plante renvoyer la date d'aujourd'h query [ par Metrox ] 'lut all,j'aimerais savoir comment je peux faire pour réaliser une query, semblable à celle-ciSELECT Nom, Prenom, Date_naissanceFROM usersWHERE (Nom Date + Filtre + MySQL [ par klael ] Voilà je rencontre le pb suivant: lorsque je tente de filtrer une table (composant TTable) selon une date j ai le message d erreur suivant : Opération datetime et sybase [ par ohmonbateau ] bonjour, j'essaie de transférer une date(format datetime) d'une db sybase ASE vers un champ datetime d'une db Sybase ASA. J'utilise ADO et je travail Utilisation de MK Query Builder 3 [ par patfac1 ] Bonjour, Je doit développer une sorte de requeteur sous delphi. Pour ca on m'a donné le composant MK Query Buidler . Mais malheureusement je ne conna Effacer dans DBase [ par jfg ] Bonjourj'utilise les composants ADO avec une table DBase, la modification et la création marche, mais quand je veut effacer un enregistrement ca march Fichier typé (RECORD) [ par selma-elec ] UN fichier à été créer sur disque avec borland pascal 7.0 avec des enregistrement de ce type :Type Tata = Record Chemin : integer quel qu'un peut m'aider SVP!!!! [ par boudjemaa ] salut a tout le monde; voila si quel qu'un peut m'aider je serai rconnaissant.voila mon problème:je programme avec delphi 5 . j'ai trois tablesmandat(


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales