tiboss33
Messages postés2Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention17 février 2007
-
14 févr. 2007 à 14:23
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 2013
-
17 févr. 2007 à 10:34
Bonjour, au démarrage de mon programme jai un dbgrid qui maffiche tous les salariés dune entreprise.
Quand je double clique sur un salarié, jai une nouvelle feuille qui affiche les infos détaillées dans des textbox vérouillés.
Jusque ici tout fonctionne bien car cela ne fait appel qua la table salarié.
Seulement je voudrais rappatrier le nom de l'établissement (nom_etab) dans lequel le salarié travaille pour le mettre dans un dbtextbox, et je ne sais pas comment my prendre.
la table salarié possede la clé étrangere code_etab et la table etablissements a pour clé primaire code_etab
(j'ai essayé de faire un query avec la requete contenant la jointure ce qui donne 'SELECT nom_etab FROM etablissements e, salaries s WHERE s.code_etab = e.code_etab' puis jai fait un datasource relié au query, et jai ensuite relié le dbtextbox au datasource mais rien y fait il est vide)
Voila j'espere avoir été clair, sinon n'hésitez pas a me demmander d'autres questions (je suis débutant mais vous avez du le remarquer lol)
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 17 févr. 2007 à 09:45
Salut,
Pourquoi faire compliqué quand on peut faire simple ?
Puisque tu as implémenté une procedure de double clic pour afficher les infos du salarié, il te suffit d'ajouter dans cette procedure une simple recherche du code_etab dans ta table établissements. Si code_etab est trouvé, il te suffit de lire la valeur de nom_etab.
Pour faire une recherche, tu as plusieurs outils disponibles : locate, setkey...gotokey.
tiboss33
Messages postés2Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention17 février 2007 17 févr. 2007 à 10:01
salut,
en effet ca m'a l'air fesable (même pour un débutant lol) par contre cette requette je la mets ou? Moi je pensais qu'on pouvait l'insérer uniquement dans un tquery ou un tdataset
Merci!
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 17 févr. 2007 à 10:34
Ce n'est pas une requête SQL ! Donc pas d'emploi d'un TQuery.
Voici le genre de code (à ajouter dans ta procedure de double clic) :
if TableEtab.Locate('code_etab', TableSalaries.FieldByName('code_etab').asString, []) then
Edit1.Text:= TableEtab.FieldByName('nom_etab).asString
else Edit1.Text:= '';