|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Requête qui ne marche pas...et query [ Base de données / Access ] (810mcu)
Informations & options pour cette discussion
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
|
@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
|
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 
|
|
|
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é 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(
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|