Problème DBComboBox et requête sql [Résolu]

cs_lilo415 18 Messages postés mardi 22 mars 2005Date d'inscription 5 avril 2007 Dernière intervention - 4 avril 2007 à 12:11 - Dernière réponse :  Utilisateur anonyme
- 5 avril 2007 à 14:05
Bonjour,

Je précise que je suis débutante en delphi.

J'utilise la version 7 de delphi, et j'ai un petit souci pour afficher le résultat d'une requête sql dans ma DBComBoBox ,( j'ai aussi utilisé un DBLookUpComboBox mais j'ai aussi le même souci )


Voilà j'ai des contacts qui sont enregistrés dans la base de données et il sont organisés par groupe.

Par exemple pour le "groupe A"-> J'ai 4 Contacts "toto","test","titi", "youpi"


Donc l'application affiche la fiche contact, ici "test" avec nom, prenom, etc

Et je voudrais mettre dans ma ComboBox, la liste des contact appartenant à ce groupe sauf "Test".

Est-ce possible ?? j'ai essayer avec une requête mais ça ne marche pas.

Je pense que je ne sais pas trop où et comment mettre ma requête.Ou alors je n'utilise pas le bon composant.


Merci d'avance pour votre aide.

lilo
Afficher la suite 

7 réponses

Répondre au sujet
gebu34 119 Messages postés samedi 9 décembre 2006Date d'inscription 17 novembre 2009 Dernière intervention - 4 avril 2007 à 15:02
+3
Utile
Il vaut mieux que tu pilote tout ça depuis le code.
Cela dépent des compos, perso je travaille souvent avec ADO, donc, par exemple il te suffit d'avoir un ADOQuery (bien sûr le tout lié à une base et à la combo) et tu charge ta requête ADOQuery1.SQL.Add(........) et chaque changement tu applique la requête avec un nom différent. (charge ton nom dans une variable, c'est plus simple)
Exemple avec ADO :
ADOQuery1.Acive = False; (tu désactive ton compo)
ADOQuery1.Sql.Clear; (tu vide la requête)
ADOQuery1.Sql.Add('SELECT matable * FROM matable ');
ADOQuery1.Sql.Add(WHERE nom <> "' + variable + '" ORDER BY nom');
ADOQuery1.Active = True; (tu apllique la requête)

A+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de gebu34
gebu34 119 Messages postés samedi 9 décembre 2006Date d'inscription 17 novembre 2009 Dernière intervention - 4 avril 2007 à 13:50
0
Utile
Salut,
Si j'ai bien compris, chaque fois que tu affiche une fiche, tu veux que son nom disparaisse de la liste.(je pense pour ne pas pouvoir cliquer dessus..)
Il faut que tu charge la liste de ta DBCombox à chaque changement de fiche.
Il faut appliquer une requête du style WHERE Nom <> NomDeLaFiche.
Ceci bien sûr en fonction des compos que tu utilise....
A+
Commenter la réponse de gebu34
cs_lilo415 18 Messages postés mardi 22 mars 2005Date d'inscription 5 avril 2007 Dernière intervention - 4 avril 2007 à 14:00
0
Utile
Salut,

Merci pour ta réponse, tu as bien compris ce que je voulais.
Par contre, est-ce que je dois rentrer ma requête sql dans la partie object du composant ou on peux le faire dans la partie code?
Comment- fait ton pour déclarer une requête sql dans le code??

Merci d'avance et pour tout0

lilo
Commenter la réponse de cs_lilo415
cs_lilo415 18 Messages postés mardi 22 mars 2005Date d'inscription 5 avril 2007 Dernière intervention - 4 avril 2007 à 15:33
0
Utile
Ok , merci pour ta réponse et tes explications...
Je vais donc tester avec un ADOQuery et en utilisant une variable.

Merci encore  et bonne journée.

Lilo
Commenter la réponse de cs_lilo415
Utilisateur anonyme - 4 avril 2007 à 19:16
0
Utile
Lilo,

1)Pense à mieux formuler tes questions : elles sont à chaque fois incompréhensibles.
2)On utilise pas les composants  Ado, si on utilise déjà un autre type de composant
3)Ensuite on cherche sérieusement, avant de poser une question :

http://www.jcolibri.com/articles/bdd/interbase/interbase_tutorial/interbase_tutorial.html

*Tu a peu de connaissances Pascal.
*Tu connais rien en requetes SQL
*Tu ne sais pas comment fonctionne une base de données (tu confonds les termes).


Je vais te le redire une fois de plus : ne te lance pas dans un tel source, vu que tu débutes à peine en programmation.

La seule chose que tu vas réussir à faire, est un source sale qui risque de contenir un paquet de beugs, que tu n'arriveras surement pas à solutionner.

Ce que tu es entrain de faire, nécessite un sacré paquet de connaissance qui se mesure en années de travail. C'est aussi farfelu de se lancer dans un tel projet que de faire les plans d'une centrale nucléaire alors que l'on ne sait meme pas que H2+O2----->H2O.
Commenter la réponse de Utilisateur anonyme
cs_lilo415 18 Messages postés mardi 22 mars 2005Date d'inscription 5 avril 2007 Dernière intervention - 5 avril 2007 à 09:52
0
Utile
Francky,


Je viens de lire ton message, je suis d'accord avec certains points que tu dis.
1)     
<!--[endif]-->En effet, je ne dois pas très bien formuler mes
questions et je confonds un peu les termes.
2)     
<!--[endif]-->On me conseilles d’utiliser les composants 
Ado, alors j’essaie de l’intégrer à mon programme si je n’arrive pas je peux
toujours l’effacer et revenir à mes composants de départs.
3)     
<!--[endif]-->Ensuite bien sur que j’ai cherché avant de poser
la question, ça parait logique de chercher sur le net !!!!











Maintenant il est
vrai que j’ai peu de connaissance en Pascal et en Delphi étant donné que je
débute ! Je n’ai jamais dit que j’écrivais le programme tout seul !  je me contente de faire des modifications ou d’ajouter
de nouvelles fonctionnalités. Parfois on m’impose de faire comme ça, c’est
pourquoi je cherche sur le net et je pose des questions sur le forum.









Je pensais que les buts des forums étaient d’aider ceux qui
étaient en difficulté surtout dans la catégorie DEBUTANTE !!!!!!!






Il faut bien démarrer quelque part, certain ont plus de
facilité que d’autres. On débute, on ne peut pas avoir le niveau d’un expert et
connaître tous les termes c’est impossible ! De plus, c’est en cherchant et
en faisant des erreurs qu’on apprend à programmer et à connaître un langage de programmation.






Alors dorénavant, vu que mes questions sont inutiles et incompréhensibles.
Je n’utiliserais plus ce forum, en tout cas je voudrais dire merci à ceux qui m’ont
aidé….


@+


Lilo.


PS: c'est le deuxième message que tu me laisses de ce genre, ne t'inquiete pas, j'ai bien compris le message!



 
Commenter la réponse de cs_lilo415
Utilisateur anonyme - 5 avril 2007 à 14:05
0
Utile
Salut,

I-On me demande de faire ?

Je réitère ma question : Qui ?

Je vois 3 cas de figures :

*Toi même : Le sentimentalisme sur CS, on n'aime plus trop.

*Ton patron : Vu que ce n'est pas ton travail, cela me semble plutôt surprenant que l'on te demande une telle chose (sauf si tu t'y es proposée et dans ce cas là tu es sucidaire).

*Une team : Se proposer de participer à une team de développement, où accepter, alors qu'on n'y connait rien est ridicule et dangereux pour le projet. Dans la mesure ou tu travailles sur les bases de données c'est peu probable.

II-Je formule mal mes questions

Si en plus de chercher les solutions, il faut chercher la signification des questions, on n'a pas finit .

Les gens aident bénévolement : alors si ils comprennent pas, bien c'est simple ils t'aident pas .

De plus toi même tu l'admets : alors pourquoi les poster tel quel, si elles ne sont pas compréhensibles. Pourquoi ne pas faire l'effort de les formuler convenablement

III-Biensur que j'ai cherché

Si cela te parait évident, ca n'est pas le cas de tout le monde .

Ensuite rechercher ca peut prendre des heures, des jours voir des semaines .

Il y a une similitude entre le travail de développeur et celui de chercheur : la lecture représente 95% du temps de travail .

Pour conclure, j'affirme que tu n'as pas cherché  dans la mesure :

*ou j'ai passé ce lien à un autre membre il y a même pas 3 semaines.


*tu demandes si "ta requete tu dois la mettre dans le code ou dans le composant". ca révèle aussi que tu ne maitrises mais alors rien du tout de chez rien du tout. Et tu ne cherches pas à comprendre : "On me conseilles d'utiliser les composants  Ado, alors j'essaie de l'intégrer".

On s'amuse pas à faire :

Tiens là je vais utiliser FireBird dans cette partie,
Tiens là un ptit coup de Paradox.
Tiens pour finir, un ptit coup de Ado.

Pour conclure Lilo :

1)Tu n'as pas compris le role de Codes-Sources :

le but de CS n'est pas de permettre aux gens d'apprendre à développer ni de réaliser des sources.

CS n'est en aucune façon un centre de formation .
On est censé apprendre les bases seul et faire ses sources tout seul .

2)On commence pas un livre par la fin mais par le début .

En fait j'ai le sentiment que le livre tu ne le lis meme pas : ptite lecture en diagonale et un ptit copier-coller de temps en temps, puis au petite bonheur la chance pour le résultat final.

Alors si tu ne fais pas du développement par passion, je peux parfaitement le comprendre. Mais en développant comme tu le fais : tu n'arriveras à rien sauf à réaliser une grosse daube qui ne ressemblera à rien.

3)Tu fais comme tu veux : tu restes ou tu parts, cela ne regarde que toi.

4)S'enteter à réaliser ou participer à un projet sur une base de données alors qu'on n'a jamais fais un seul source est tout simplement ridicule.

Comme tu l'as dis, il faut bien commencer quelque part : Ben commence par les bases plutot que de faire un tel travail. C'est aussi stupide qu'un môme de 10 ans qui essayerai de se lancer dans la recherche nucléaire : c'est grotesque, tout simplement.
Commenter la réponse de Utilisateur anonyme

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.