DBLISTBOX et DBCOMBOBOX sur delphi [Résolu]

sharifcrd 37 Messages postés lundi 23 août 2010Date d'inscription 18 avril 2014 Dernière intervention - 2 août 2011 à 15:59 - Dernière réponse : pierrotk10d 101 Messages postés mardi 13 novembre 2007Date d'inscription 16 mars 2018 Dernière intervention
- 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 

6 réponses

Répondre au sujet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 3 août 2011 à 13:59
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_cantador
pierrotk10d 101 Messages postés mardi 13 novembre 2007Date d'inscription 16 mars 2018 Dernière intervention - 3 août 2011 à 16:21
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de pierrotk10d
sharifcrd 37 Messages postés lundi 23 août 2010Date d'inscription 18 avril 2014 Dernière intervention - 3 août 2011 à 14:46
0
Utile
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
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 3 août 2011 à 15:55
0
Utile
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
sharifcrd 37 Messages postés lundi 23 août 2010Date d'inscription 18 avril 2014 Dernière intervention - 4 août 2011 à 09:48
0
Utile
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
pierrotk10d 101 Messages postés mardi 13 novembre 2007Date d'inscription 16 mars 2018 Dernière intervention - 4 août 2011 à 21:06
0
Utile
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.