cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 20 sept. 2002 à 00:07
Ce n'est pourtant pas si compliqué...
Comme tu veux afficher deux tables dans la liste d'un combo-box, il faut déjà créer une requète ( TQUERY par ex ) pour joindre les deux :
Si S est la table des succursales et V la table des villes, alors il faut créer une réquète du style :
SELECT * FROM S,V WHERE S.NOVILLE=V.NOVILLLE
Ensuite il faut lier un datasource à cette requète.
Enfin il faut fixer le DBLookUpComboBox.ListSource à cette nouvelle source, puis fixer les propriétés KeyField et ListFeild. ListField peut contenir plusieurs champs, il suffit des séparer par des ";".
okeefe
Messages postés9Date d'inscriptionjeudi 29 août 2002StatutMembreDernière intervention26 novembre 2002 25 sept. 2002 à 19:39
c'est pas vraiment ce que je voulais faire, mais je vais tester...
j'explique plus en détail ...
salut
j'ai 2 tables
succursale qui a les champs adresse, tel,noville .... et ville qui a
les champs noville et nomville
je veux que lorsque je sélectionne un tel dans un dblookupbox(de
succursale) que ses infos me soit affiché ses informations ainsi que le
nom de sa ville...
pour se faire, j'utilise un TIBquery (ibqVilleSucc) qui est lié a
dsVilleSucc
la requête est
select nosuccursale,nom, adresse,courriel, fax,
codepostal,noville,nomville from
succursale ,ville where (tel=:tel and succursale.noville=ville.noville)
je suis certain que c'est pas la facon de faire, car le dblookup ne peut
renvoyer qu'une valeur je crois...
voici les infos des composants
dblcTelephone
ListSource : dmKpr.dsSucc
ListFiel : Tel
KeyField : Noville
ensuite j'ai des dbedit qui est lié a dmKpr.dsVilleSucc et qui devrait
afficher le nom de la ville, adresse.. mais rien n'est affiché..
une solution?
ça fait longtemps queje poste sur divers forum et aucune solution ...
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 25 sept. 2002 à 19:53
Concernant le dblookupcombobox, je ne vois pas de différence entre ma méthode et la tienne... C'est la seule façon de faire, car le DBLookComboBox ne peut être lié qu'a une seule source pour la liste de valeur. C'est donc logique de créer une requète pour joindre les deux tables.
Par contre dans ta requète pourquoi ajoutes-tu Tel=:Tel ? Pour moi c'est inutile, et c'est peut-être pour ça que tu n'as rien dans les DBEdit, Car si le paramètre TEL n'est pas ou mal renseigné, alors la requète est vide et donc il n'y a pas de valeur dans les DBEdit...
Pour ensuite avoir plusieurs valeurs affichée dans la liste il faut mettre tous les champs voulus dans keyFields séparés par des point-virgule.
okeefe
Messages postés9Date d'inscriptionjeudi 29 août 2002StatutMembreDernière intervention26 novembre 2002 27 sept. 2002 à 17:37
je vais essayer ce demain soir...
en fait ma dblookupcombox est lié à une requete genre
select tel from succursale
et lorsque je clique dessus je veux que dans mes dbedit que les informations de cette succursale soit affiché...
j'ai fait "select nosuccursale,nom, adresse,courriel, fax,
codepostal,noville,nomville from
succursale ,ville where (tel=:tel and succursale.noville=ville.noville)"
car si je fait pas tel=:tel, il peut y avoir plusieurs résultat je crois...