|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 | |
|
Membre Expert
![]() said Développeur Delphi/c++/Omnis Inscription : décembre 2003 Messages : 1 789 ![]() |
Citation:
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS |
|
|
|
00
|
|
|
#22 |
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
salut,
Pour afficher le résultat de la procédure de Serge et de Ph. B. dans la requête sans passer par une ListBox, faut-il ajouter un champ à la Query (à la conception) ou dans la table et ensuite faire un Select de ce champ qui servira à regrouper ces intervalles des Id_clients ? Rapellons-nous que l'objectif est : Localité: les "Id" qui vont avec @+ NAbil |
|
|
00
|
|
|
#23 | ||||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 207 ![]() |
bon , j'avais du temps libre
essayes quand même de comprendre le code , avant de faire un copier coller bête @philippe : si tu veux chercher la petite bête , je suis sur que tout n'est pas encore optimum ![]() ici , le résultat sera mis dans un mémo (resultmemo) , une ligne par localité Code SQL :
Code :
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
||||
|
|
00
|
|
|
#24 | |
|
Expert Confirmé
![]() ![]() |
Citation:
Plus sérieusement, je laisse @NABIL74 travailler un peu et reprendre la piste que j'avais donnée au début de la discussion ou exploiter la votre... A ce titre, j'ai tendance à ignorer les sollicitations d'assistance de ce type faites par messagerie privée.
__________________
Philippe. |
|
|
|
00
|
|
|
#25 | |
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
Merci pour le temps que tu as consacré à ce souci ! Oui, j'ai toujours pris note de tes conseils. Mais là Serge t'es une bête ![]() ![]() Le code fonctionne correctement,c'est ça ce que je voulais. Une question, est-il possible avec cette procédure d'afficher le résultat de la procédure dans la Query sans passer par un TMemo? Car je dois faire un état qui englobe tout et bien sûr par la suite l'imprimé. Merci encore. @+ Nabil |
|
|
|
00
|
|
|
#26 | ||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 207 ![]() |
Citation:
Citation:
mais il est toujours possible d'imprimer directement le memo , ou de passer par des evenements de calcul pour chaque Localité . Tout dépend du générateur utilisé
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
||
|
|
00
|
|
|
#27 | ||
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
J'ai déjà crée il y a quelques temps une Table temporaire qui contient les champs: Localite (string [200]), IDS_Clients(Memo). Citation:
Mon générateur est ReportBuilder. Dans mon état, il y a deux colonnes : une pour la localité et l'autre pour les Id_clients. il faut donc copier à partir de chaque ligne: les mots de chaque localité (ex:Nantes) dans la 1ère colonnes et les ID correspondant dans la 2ème colonne. A+ Nabil |
||
|
|
00
|
|
|
#28 | ||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 207 ![]() |
évidemment celui là je connais pas !
pour ce qui est de mettre le résultat en table temporaire par contre c'est très facile , il suffit de modifier légèrement le code Code :
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
||
|
|
00
|
|
|
#29 | |
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
@Serge : sans faire de pub, Report Builder est bon générateur d'état. Oui, c'est facile de mettre le résultat dans table temporaire et de le récupérer ensuite . Je n'ai pas Delphi là où je suis(au boulot. eh oui,dimanche c'est le début de semaine chez nous! Mais c'est vrai Serge, "Paradox" c'est de la merde ,pardon pour ce mot ![]() c'est toujours limité en SQL, il y a plein de trucs qu'on peut pas faire sans parler des index qui sont pas à jour quand les tables sont endommagés. .Avant que je pose ma question sur le forum, j'ai déjà fait une recherche sur le net et j'ai bien sûr trouvé ton poste qui se rapport à la ma question mais sous Firdbird. enfin bon, merci encore. Nabil |
|
|
|
00
|
|
|
#30 | ||
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Bonjour à tous,
@ Serge: ça marche bien sauf un petit détail dans: Code :
|
||
|
|
00
|
|
|
#31 | |||
![]() ![]() Développeur informatique Inscription : mars 2005 Messages : 4 991 ![]() |
Citation:
En regardant un minimum et en réfléchissant 2s on voit tout de suite où corriger. Une piste : regarde comment est renseigné LigneMemo plus haut dans le code.
__________________
Modérateur Delphi Combattez la brute Aucune réponse aux sollicitations techniques par MP Le guide du bon forumeur :
[Projet en cours] Des unités pour faciliter l'utilisation d'indy : EasyIndy 1.3 |
|||
|
|
00
|
|
|
#32 | |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 207 ![]() |
Citation:
![]() un oubli de ma part , ça m'apprendra a faire du copier-coller pour corriger dessus Néanmoins maintenant , c'est corrigé
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
|
|
|
00
|
|
|
#33 |
|
Membre Expert
![]() said Développeur Delphi/c++/Omnis Inscription : décembre 2003 Messages : 1 789 ![]() |
pour table temporaire je préfère Clientdataset, ou le composant proposé par Franck
, mais aussi on peut imprimer directement dans report buider en utilisant les événements des champs
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS |
|
|
00
|
|
|
#34 | |||||||
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
Code :
Tu sais Serge, si je n'applique pas un tri des données, la procédure 'collecte' tous les ID_clients avec les localités qui lui correspondent: Code :
Code :
Elle affiche seulement le début d'une série et pas sa fin Ex: Paris : 1,29-50,120-129,990-1020 Le '1020' le loupe, elle m'affiche seulement '990'. c'est vraiment incompréhensible non !A+ Nabil |
|||||||
|
|
00
|
|
|
#35 | ||
|
Membre Expert
![]() Inscription : septembre 2009 Messages : 980 ![]() |
holalala ...
pourquoi n'y a t'il pas une table Client et une table Localité ? Table Clients : Table cities : 1 : on bouffe moins de ressources pour stocker les id_client dans un champs non prévus pour ... au risque de se retrouver avec un champs de 42Peta-octet... :/ 2 : on simplifie les requêtes, le tris etc. Code sql :
et des group by et des count et des sum etc etc.
__________________
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ] Ma messagerie n'est pas la succursale du forum... merci! |
||
|
|
00
|
|
|
#36 | |
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
Tu n'as pas bien compris mon souci, je veux détecter les trous des ID dans une série entière suivant chaque localité:Nantes : ID: 1,2,3,7 ,8,9,10,11, 25 Je veux faire: 1-3, 7-11,25 A+ |
|
|
|
00
|
|
|
#37 |
|
Membre Expert
![]() Inscription : septembre 2009 Messages : 980 ![]() |
Si si j'avais compris, ce que je comprend pas c'est la finalité de trouver ces fameux trous ...
pour moi ça raisonne comme un "se prendre la tête pour un truc inutile parce que mal foutus à la base". Tu t'embêterai moins a restructurer correctement que de chercher a faire "des trucs" qui te fond tourner en rond pour rien et au risque qu'a la fin d'une longue prise de tête infructueuse avec son lot de solutions improductives tu décide de refaire une structure correcte. Avec une telle structure, admettons que tu cherche ou est localisé le client 5 (à paris par exemple), et dans paris tu as '2-9,12-32' Tu fais quoi comme requête ? à part un truc imbuvable à base fonctions à la noix et de like bancale ? Et je parle même pas de la mise à jours de ce champs ... le mec qui en est à l'origine mériterais de bruler sur la stèle des sacrifices d'Oracle tiens... Après, oui, le coté défis est intéressant, pour ma part je ferai un traitement externe à base de delphi. Mais, ta base actuelle c'est le genre de truc que personne ne voudrais voir en Production.
__________________
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ] Ma messagerie n'est pas la succursale du forum... merci! |
|
|
00
|
|
|
#38 | ||
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
@Dr.Who : je t'ai déjà dis que tu n'as pas bien pigé ce que je veux exactement, le but est dans un état de sortie (l'impression). je ne perd pas la tête pour un truc inutile.Voilà, admettant que dans une localité, j'ai 200 clients et qu'on veut imprimer chaque localité avec les ID_Clients.Tu remarquerais que ces Id vont prendre beaucoup d'espace :de 1 jusqu'à 200! Alors pourquoi pas les grouper comme :1-200 non? Citation:
+A Nabil |
||
|
|
00
|
|
|
#39 | |||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 207 ![]() |
Citation:
c'est encore plus vrai de dire que tes modifications sont responsables de l'erreur. Pour preuve , le dernier code mettant le tout dans un memo donnait le résultat correct. 1- je remarque que tu n'as pas fait la bonne correction 2- le SQL avec un Where sur la Localité est une honte dans sa forme mais surtout dans le fond Code ça c'est pour la forme :
pour le fond : s'il n'y a qu'une seule localité , alors il n'y a pas lieu d'utiliser le test sur le changement de localisation. 3- en général quand on fait une édition ce n'est pas pour n'avoir qu'une seule ligne (donc dans notre cas une seule localité) je suis d'accord avec Dr Who sur la structure des tables bien que cela ne change rien à l'exercice. Ce genre d'exo était très en vogue en 1983 dans les écoles d'apprentissage a la programmation
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
|||
|
|
00
|
|
|
#40 | ||||||||
|
Membre éprouvé
![]() NABIL Enseignant Inscription : août 2008 Messages : 482 ![]() |
Citation:
Oui c'est sûr que le EOF est mal géré car si on ajoute un ID_Client dont la Localité est la même pour la suite de série, il y est! ex: Paris :1,29-50,120-129,990-1020=> 1,29-50,120-129,990 résultat ok après insertion: 1,29-50,120-129,990[COLOR="rgb(46, 139, 87)"]-1020[/COLOR] , 2025 je n'ai pas fait la bonne correction Citation:
pour Citation:
Au début de ce topic, j'ai dit que je veux améliorer une vieille application faite avec Paradox comme BD. Citation:
mais dans le cas contraire ,on fait le Select déjà cité: Code :
|
||||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com