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

C++Builder Discussion :

2 cellules les memes dans dbgrid


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut 2 cellules les memes dans dbgrid
    bonjour
    dans mon prog j'utilise une dbgrid et ce que je souhaite faire c lorsque je veux ajouter un texte dans une cellule de ma dgbrid, cela verifie si une cellule du meme nom dans la meme colone existe deja, pour ne pas avoir 2 fois la meme cellule dans la meme colone
    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    mon prog c ca pour ajouter :

    TGestionMateriaux->Append();
    TGestionMateriaux->Edit();
    TGestionMateriaux->FieldByName("Produit")->Value=EProduit->Text.c_str();
    et je veux que lorsque j'ajoute un produit, sil existe, cela ecrase le produit existant, sinon sela crée une autre cellule

  3. #3
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Ne devrais tu pas en priorité voir au niveau de ta table (enfin si le DBGrid affiche directement une table), afin d'empecher directement les doublons ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    je sais pas comment faire

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    et est ce qu ecela ecraserais un enregistrement existant portant le meme nom de cellule ??

  6. #6
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Un code du genre peut etre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TGestionMateriaux->First();
    while(!TGestionMateriaux->EOF){
       if(EProduit->Text.c_str()!=TGestionMateriaux->FieldByName("Produit")->Value)
    {
           TGestionMateriaux->Append();
    }
    TGestionMateriaux->Next;
    }
    TGestionMateriaux->Edit();
    TGestionMateriaux->FieldByName("Produit")->Value=EProduit->Text.c_str();

    REEDIT :
    comme ca c pas mieux (modif en rouge)
    A voir

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    ca rajoute qd meme le produit portant le meme nom

  8. #8
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Avec les modif ca devrait etre mieux ^^

    J'avais rajouter une ligne dans le tableau si le texte etait pareil alors que c'est l'inverse, il doit en rajouter une si il ne l'a pas trouvé

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    non ca me fait toujours pareil
    si l'enregistrement existe ca me le rajoute qd meme

  10. #10
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Je sais pourquoi je pense :

    Il faudrait qu'il pointe sur l'élément lorsqu'il le trouve pour le remplacer.

    J'y refléchi (apres mange lol) et je te dis si tu na toujours pas ta solution


  11. #11
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    C'est quoi le :
    EProduit
    ?

    Sur quel type de table travailles tu ?

  12. #12
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Bon je viens de manger, mon cerveau se remet en marche, essaye donc cela :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    int stop = 0;
    TLocateOptions Option;
     
    TGestionMateriaux->First();
    while(!stop){
     
    if(EProduit->Text.c_str()==TGestionMateriaux->FieldByName("Produit")->Value)
      {
      TGestionMateriaux->Locate("produit",EProduit->Text.c_str(),Option)   
      stop = 1;
      }
     
    if(TGestionMateriaux->EOF)
      {
      TGestionMateriaux->Append();   
      stop=1;
      }
     
    TGestionMateriaux->Next();
    }
     
    TGestionMateriaux->Edit();
    TGestionMateriaux->FieldByName("Produit")->Value=EProduit->Text.c_str();
    TGestionMateriaux->Post();
    TGestionMateriaux->Refresh();
    Essaye et dis moi je finirai bien par y arriver

    Je suis meme pas sur que les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TLocateOptions Option;
    TGestionMateriaux->Locate("produit",EProduit->Text.c_str(),Option)
    soit necessaire

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    ca ne marche pas
    qd je rentre le meme nom de produit, ca le rajoute, et qd je rentre un nom diferent ca ne le rajoute pas, le contraire de ce ke ca devrais faire
    mais sa ne fait pas completement ce ke je voudrais, car je veux que lorsque le nom de produit existe, cela remplace les autres colones de la meme ligne et que lorsque le nom de produit existe pas, cela fasse une autre ligne

  14. #14
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    C'est quoi le nom de tes autres colonnes ? et les les TEdit ou autres ou il doit récuperer les autres données ?

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    comme colonnes il y a : famille, fabriquant, produit, remarque, lien1, lien2, lien3, lien4, lien5
    et comme edit, c les meme noms avec un E en + devant le nom
    comme EFamille

  16. #16
    Membre expérimenté
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par défaut
    Citation Envoyé par Furlaz
    Bon je viens de manger mon cerveau se remet en marche, essaye donc cela :

    il manque une virgule, apres manger

    Mais sur le coup

    lanonyme

  17. #17
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Citation Envoyé par lanonyme

    il manque une virgule, apres manger

    Mais sur le coup

    lanonyme
    Effectivement, mais c'est peut etre pour ca que je trouve pas la solution

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Par défaut
    ton code marche presque furlaz
    en fait lorsque le produit n'existe pas, cela le crée en en ecrasant un otre, alors quil faudrait en crée un nouveau
    aussi, cela n'ecrase pas la bonne ligne, cela ecrase la ligne selectionnée et non celle qui porte le meme nom de produit

  19. #19
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Citation Envoyé par kalou26
    ton code marche presque furlaz
    Tu a mis != ou == dans le 1er if ?

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

Discussions similaires

  1. Réponses: 42
    Dernier message: 16/03/2015, 21h13
  2. ordonner les champs dans dbgrid
    Par supersoft5 dans le forum C++Builder
    Réponses: 1
    Dernier message: 16/05/2007, 22h34
  3. 2 lignes les memes dans une listbox
    Par kalou26 dans le forum C++Builder
    Réponses: 9
    Dernier message: 20/06/2006, 16h03
  4. [JTable] centrer les donnees dans les cellules
    Par cmoa59 dans le forum Composants
    Réponses: 5
    Dernier message: 20/05/2005, 11h35
  5. Des styles pour le texte et les liens dans la meme div?
    Par Donkey' Shot dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/01/2005, 20h03

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