IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Comment affecter une valeur a un dbLookupcomboBox ?


Sujet :

Delphi

  1. #1
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut Comment affecter une valeur a un dbLookupcomboBox ?
    bonjour,
    titre un peu long desole.

    voila,
    je n'ai pas encore reussi a afficher une valeur dans un dblookupcombobox
    apres un clcik sur mon grid.

    je m explique:

    j'ai un grid avec les valeur d une table.

    quand je click les valeur selectione s'affiche dans les edits.
    Le probleme c'est j'ai un champ dont les valeurs viennnent d une autre table(typmat).
    j'ai unlookup qui me permet de choisir la valeur voulu et l insere pour un nouvel enregistrement.

    Mais pour une modif pas pareil, j'arrive a affiche le champ typmat dans un edit mais pas dans un dblookup.
    C'est genat car l tilisateur n'as pas l'ensemble des valeur de la table typmat donc a part kes savoir par coeur, il serai plus simple de les choisir dans le db .

    je sais pas si je suis varaiment tres clair, mais en gros je souhaite affiche la valeur d une cellule d un dbgrid ds le dblookup.

    merci
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 218
    Points : 311
    Points
    311
    Par défaut
    En résumé, ce que j'ai compris c'est que tu voudrais une aide sur les valeurs de la table typmat dans ta combo.

    Il faut donc que tu crées un query rapatriant les données de ta table typmat auquel tu lies un Datasource. Puis tu branches la listsource de la combo à ce datasource, il faut préciser ensuite la clé de ta table typmat dans la propriété Keyfield et la valeur que tu veux voir apparaitre dasn la combo dasn la propriete ListField.

    Tu branches le query à modifier comme tout autre composant avec les propriétés datafield/datasource.

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    Merci pour la reponse, je vais creuser par la

    Pour la FAQ, c'est deja fait , je vais revoir j'ai peut etre loupe quelquechose.
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  5. #5
    Membre confirmé Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    578
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2002
    Messages : 578
    Points : 604
    Points
    604
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dblookup.keyvalue := 2;

  6. #6
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    j ai du mal m'explique "comme d hab".

    mon probleme n'est pas d avoir des valeurs(ca c 'est ok , j'ai les valeur de ma table) dans le dbl mais d afficher la valeur mais de le positionne sur une valeur des valeur apres une selection d un dbgrid.
    la c 'est ce que fait actuellement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
    edit1.Text:=dbgrid1.Fields[1].AsString;
    typmat.Text:=dbgrid1.Fields[2].AsString;//le champ typmat
    edit3.Text:=dbgrid1.Fields[3].AsString;
    edit4.Text:=dbgrid1.Fields[4].Text;
     
    edit5.Text:=dbgrid1.Fields[5].AsString;
    
    edit6.Text:=dbgrid1.Fields[6].AsString;
    edit7.Text:=dbgrid1.Fields[7].AsString;
    edit8.Text:=dbgrid1.Fields[8].AsString;
    edit9.Text:=dbgrid1.Fields[9].AsString;
    edit10.Text:=dbgrid1.Fields[10].AsString;
    end;
    donc apres le dbclick les valeur sont affecter au edit

    mais j'aimmerai renplacer typmat.Text par mon dbl c'est plus simple pour la modification.

    merci

    desole si je me suis mal explique en 1er lieu
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Pourquoi utilises tu des composants TEdit et pas des TDbEdit ?
    Ca t'éviterai de coder des affectations pour rien

    Sinon comme avec les DbEdit, il suffit que tu lies ton DbLookUpComboBox directement à la source de données (La même que ton DbGrid) pour la partie DataSource et Datafield du composant.
    Il te faut juste que DataField et KeyField soit compatible.

    Par Exemple :Si Datafield est de type Integer et que KeyField est de type String ca ne fonctionnera pas
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    Connais pas bien les dbedit et y est pas pense

    merci je vais essaye
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  9. #9
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    bon d apres ce que j'ai vu c 'est bien pour selectione mais pas pour modifier la valeur du champ par la suite.

    le code que j'ai mis me permet d afficher les valeur puis de les modifier, quand c 'est modifie je valide.

    merci
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  10. #10
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    J ai fais une bourde de debutant j'ai pas fais f1

    donc un dbedit ser a modifie des donner.

    mais pour moi ca marche uniquement si la donne est unique

    si champ nom=toto,tata,tutu si je met titi ca passe

    mais si champ nom=toto,toto,toto je met titi ca plante car il a y plusieur toto.

    ca doit se ressoudre ca.

    merci

    j'ai fait la FAQ mais pas trouvedbedit.
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  11. #11
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut


    bon ben je suis neuneu

    j'ai reussi a faire marche le dbedit

    datasource meme que le grid datafield au champ nom(j'ai recre une table test avec id et nom)
    donc la valeur de l'dbedit est eqal a la valeur de la ligne selection dans le dbgrid

    mais pour le dblook rien ne se passe pas d'affichage

    je n'ai la liste que si je renseigne le listsource avec keyfiels et listfield.

    merci
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  12. #12
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    bon je suis passer par un dbcombox

    ca marche

    merci
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/11/2009, 10h46
  2. Réponses: 3
    Dernier message: 14/05/2009, 17h53
  3. Comment affecter une valeur a un JRField
    Par hafedh01 dans le forum Jasper
    Réponses: 1
    Dernier message: 21/05/2008, 09h47
  4. Comment affecter une valeur par defaut si null?
    Par cassy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/07/2006, 19h13
  5. Réponses: 3
    Dernier message: 18/07/2006, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo