DBLISTBOX et DBCOMBOBOX sur delphi [Résolu]

Messages postés
37
Date d'inscription
lundi 23 août 2010
Dernière intervention
18 avril 2014
- - Dernière réponse : pierrotk10d
Messages postés
102
Date d'inscription
mardi 13 novembre 2007
Dernière intervention
19 août 2018
- 4 août 2011 à 21:06
sharif
bonjour
je tente de recevoir une liste des materiaux dans une TDBListBox et la list des agents dans un TDBComboBox, mais sans succés
malgré que

Table1.active = true
DataSourse1.dataset = Table1
MyDBListBox.DataSourse = DataSourse1
MyDBListBox.DataField = Materiel

MyDBComboBox.DataSourse = DataSourse1
MyDBComboBox.DataField = Materiel

please helpe me
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
Bonjour,

essaie comme ça :

Table1.Close;
DataSourse1.dataset = Table1;
MyDBListBox.DataSourse = DataSourse1;
MyDBListBox.DataField = Materiel;

MyDBComboBox.DataSourse = DataSourse1;
MyDBComboBox.DataField = Materiel; 
Table1.Open;


vérifie si la base est ouverte...

cantador

Merci cs_cantador 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
102
Date d'inscription
mardi 13 novembre 2007
Dernière intervention
19 août 2018
3
Merci
Bonjour,
Si tu veux des agents dans le TDBComboBox il faut y mettre les valeurs contenues dans le champs 'Agent' et non le champ 'Materiel'
Lire l'aide en ligne de Delphi pour TDBListBox et TDBComboBox. Tout est expliqué.
Definir DataField pour spécifier quel champ est representé dans la boite liste
Les valeurs de la liste doivent etre chargées manuellement en utilisant la propriété ITEMS
Et la syntaxe pour DataField est : DBListBox1.DataField := 'Materiel' et non
DBListBox1.DataField = Materiel
Memes remarques pour le TDBComboBox
Il faut aussi que les champs contiennent des valeurs.
Suivant ce que tu veux faire il existe TDBLookupUpListBox et TDBLookupComboBox.
Ci dessous petite procédure pour charger les items à la création de la fiche

procedure TForm1.FormCreate(Sender: TObject);
begin
With Table1 do begin
Open; // Ou active = True
First;
While not eof do begin
DBListBox1.Items.Add(Table1.FieldByName('Materiel').AsString);
DBComboBox1.Items.Add(Table1.FieldByName('Agent').AsString);
Next;
end;
First;
end;
end;

pierrot

Merci pierrotk10d 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de pierrotk10d
Messages postés
37
Date d'inscription
lundi 23 août 2010
Dernière intervention
18 avril 2014
0
Merci
sharif
j'ai tout essaiyer pas a pas mais j'obtien rien
les liste sont vide
sauf MyDBComboBox affiche une seule valeur
Commenter la réponse de sharifcrd
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
0
Merci
sauf MyDBComboBox affiche une seule valeur

bon, il y a déjà
du mieux..
vérifie ton enregistrement "Materiel" et
les autres propriétés des deux composants
et lis les docs car ce sont deux composants qui
normalement sont utilisés pour afficher des listes de valeurs.

Je ne sais pas exactement ce que tu souhaites faire :

afficher un enregistrement particulier
ou
afficher l'ensemble des enregistrements de la table

si c'est la deuxième formule, tu vois tout de suite qu'il faut faire autrement..


cantador
Commenter la réponse de cs_cantador
Messages postés
37
Date d'inscription
lundi 23 août 2010
Dernière intervention
18 avril 2014
0
Merci
sharif
je te remerci infiniment
moi j'ai deja travailler avec TDBLookupUpListBox et TDBLookupComboBox il font l'affair automatiquement mais il ne sont pas riche en proprites et evenement comme DBLISTBOX et DBCOMBOBOX
c a dir je me suis familiarisé avec DBLISTBOX et DBCOMBOBOX.
mais comme la construction des list dans DBLISTBOX et DBCOMBOBOX est manuelle je prefere travailler avec TDBLookupUpListBox et TDBLookupComboBox pour eviter d'ecrire des codes qui peuvent influer sur la rapidite du programme.
merci de nouveau
cordialement .............
Commenter la réponse de sharifcrd
Messages postés
102
Date d'inscription
mardi 13 novembre 2007
Dernière intervention
19 août 2018
0
Merci
Bonjour,
Ta réponse me semble bien ambigue. Tu savais qu'il fallait remplir manuellement les listes d'items mais tu poses une question. Pourquoi mes listes sont elles vides???
Alors pourquoi poser la question quand on connait la réponse?
Salutations


pierrot
Commenter la réponse de pierrotk10d

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.