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

  1. #41
    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 : 55
    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
    Tiens, un p'tit bout de code qui fonctionne chez moi...
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    void __fastcall TForm4::Button7Click(TObject *Sender)
    {
    if ( VerifDoublon(Edit1->Text) == true )
    {
    DataSource1->DataSet->Filtered = false;
    DataSource1->DataSet->Filter = AnsiString("Essai1 = '") + Edit1->Text + ("'");
    DataSource1->DataSet->Filtered = true;
    if (!DataSource1->DataSet->IsEmpty())
    {
            Database1->StartTransaction();
            Table2->Edit();
            for (int i = 0; i < Table2->Fields->Count; i ++)
            {
                    Table2->Fields->Fields[i]->Value = Edit1->Text;
            }
            Table2->Post();
            Database1->Commit();
    }
    DataSource1->DataSet->Filtered = false;
    }
    else
    {
            Database1->StartTransaction();
            Table2->Append();
            Table2->FieldByName("Essai1")->Value = Edit1->Text;
            Table2->Post();
            Database1->Commit();
    }
    }
    //---------------------------------------------------------------------------
    bool __fastcall TForm4::VerifDoublon(String AText)
    {
    bool Result;
    TLocateOptions Option;
    Option << loCaseInsensitive;
    Result = Table2->Locate("Essai1", AText, Option);
    return Result;
    }
    avec dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bool __fastcall VerifDoublon(String AText);
    Si la valeur saisi dans le TEdit existe dans la colonne "Essai1", il remplace donc
    toutes les valeurs des autres colonnes de cette ligne par cette valeur; sinon, il entre un nouvel enregistrement.
    En espérant avoir bien compris ce qui était a faire (ce qui n'est pas sur)...
    Il faut donc remplacer les noms d'objects et de champs par ceux de ton code.
    @ +

  2. #42
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 263
    Par défaut Très bien
    Citation Envoyé par Cantrelle
    Tiens, un p'tit bout de code qui fonctionne chez moi...
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    void __fastcall TForm4::Button7Click(TObject *Sender)
    {
    if ( VerifDoublon(Edit1->Text) == true )
    {
    DataSource1->DataSet->Filtered = false;
    DataSource1->DataSet->Filter = AnsiString("Essai1 = '") + Edit1->Text + ("'");
    DataSource1->DataSet->Filtered = true;
    if (!DataSource1->DataSet->IsEmpty())
    {
            Database1->StartTransaction();
            Table2->Edit();
            for (int i = 0; i < Table2->Fields->Count; i ++)
            {
                    Table2->Fields->Fields[i]->Value = Edit1->Text;
            }
            Table2->Post();
            Database1->Commit();
    }
    DataSource1->DataSet->Filtered = false;
    }
    else
    {
            Database1->StartTransaction();
            Table2->Append();
            Table2->FieldByName("Essai1")->Value = Edit1->Text;
            Table2->Post();
            Database1->Commit();
    }
    }
    //---------------------------------------------------------------------------
    bool __fastcall TForm4::VerifDoublon(String AText)
    {
    bool Result;
    TLocateOptions Option;
    Option << loCaseInsensitive;
    Result = Table2->Locate("Essai1", AText, Option);
    return Result;
    }
    avec dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bool __fastcall VerifDoublon(String AText);
    Si la valeur saisi dans le TEdit existe dans la colonne "Essai1", il remplace donc
    toutes les valeurs des autres colonnes de cette ligne par cette valeur; sinon, il entre un nouvel enregistrement.
    En espérant avoir bien compris ce qui était a faire (ce qui n'est pas sur)...
    Il faut donc remplacer les noms d'objects et de champs par ceux de ton code.
    @ +


    Furlaz n'oublies pas de cliquer sur resolu

  3. #43
    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
    merci les gars
    ca marche nikel

  4. #44
    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 vacknov
    Furlaz n'oublies pas de cliquer sur resolu
    C'est pas mon post

  5. #45
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 263
    Par défaut ah oui
    Citation Envoyé par Furlaz
    C'est pas mon post
    autant pour moi

  6. #46
    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 vacknov
    [Résolu] Très bien
    tu as don pour la voyance (enfin presque)... tu donne la reponse avant kalou26

    lanonyme

  7. #47
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 263
    Par défaut Merci
    Citation Envoyé par lanonyme
    tu as don pour la voyance (enfin presque)... tu donne la reponse avant kalou26

    lanonyme
    Les yeux suffisent quelques fois pour voir le resultat d'un programme simple .

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réponses: 42
    Dernier message: 16/03/2015, 22h13
  2. ordonner les champs dans dbgrid
    Par supersoft5 dans le forum C++Builder
    Réponses: 1
    Dernier message: 16/05/2007, 23h34
  3. 2 lignes les memes dans une listbox
    Par kalou26 dans le forum C++Builder
    Réponses: 9
    Dernier message: 20/06/2006, 17h03
  4. [JTable] centrer les donnees dans les cellules
    Par cmoa59 dans le forum Composants
    Réponses: 5
    Dernier message: 20/05/2005, 12h35
  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, 21h03

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