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 :

Mettre à jour un ensemble de ligne dans une BDD à partir d'une valeur d'une colonne (DBTreeList)


Sujet :

Delphi

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Mettre à jour un ensemble de ligne dans une BDD à partir d'une valeur d'une colonne (DBTreeList)
    Bonjour à tous en espérant avoir poster au bonne endroit,

    J'explique brièvement mon objectif. J'ai trois colonnes nommés S1 S2 et S3, où S3 ,est "l'enfant" de S2 et S2 "l'enfant" de S1. De ce fait, il y a donc le même S1 pour plusieurs S2 différents et ainsi le même S2 pour plusieurs S3. Mon objectif est de pouvoir, via un bouton, changer ce S2 et affecter ce changement à tout les S3 où le S2 est le même en restant dans le même S1.
    De ce fait il va y avoir des numéros S2 identiques dans différents S1. Donc avec le code suivant, mon problème est que si mon S2 vaut par exemple 010 et que je souhaite le changer en 030, la modification va être appliqué à tout les S2 égal à 010 quelque soit le S1, alors qu'il faudra que cela s'applique seulement par exemple où S1 = 010

    Exemple :
    S1 S2 S3
    010
    010 010 ==> changement
    010 010 010 ==> changement
    010 010 020 ==> changement
    020
    020 010
    020 010 010 ==> changement (X)
    020 010 020 ==> changement (X)

    Voici mon code :

    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
    / S2 - Change code
    procedure TMAIN.PopMenu_SEC_ChangeS2Click(Sender: TObject);     // Cette fonction permet de changer le code S2 d'un centre de regroupement analytique. Il aut alors modifier toutes les sections FILLES qui ont ce code S2.
    var
       OldS2, S2: String;
    begin
    if (ZDBPGA.QRY_PGA_S1.State <> dsInactive)
    then begin
          OldS2 := ZDBPGA.QRY_PGA_S1S2.Value;
         inputquery('Change ' + ZDBPGA.QRY_PGA_S1S2.Value, 'Entrez le nouveau code S2', S2);
     
         if MessageDlg('Confirmez vous le changement de code ' + OldS2 + ' avec le nouveau code ' + S2, mtWarning, [mbYES, mbNO], 0) = mrYES
         then begin
              if (ZDBPGA.QRY_PGA_SECTIONS.State = dsInactive) or (ZDBPGA.QRY_PGA_SECTIONS.IsEmpty)
              then ZDBPGA.PGA_SEC_Liste(ZDBPGA.QRY_PGA_SECTIONS, '', true);
     
     
              if NOT ZDBPGA.QRY_PGA_SECTIONS.Locate('S2', S2, [])
              then begin
                   {PGA_S1 - S2 centre de regroupement analytique}
                   ZDBPGA.QRY_PGA_S1.Edit;
                   ZDBPGA.QRY_PGA_S1S2.Value := S2;
     
                   {PGA_S2  S2 FILLES}
                   ZDBPGA.PGA_S1_Liste(SYSDBS.STR_Soc, OldS2);
                   ZDBPGA.QRY_PGA_S1.First;
                   While NOT ZDBPGA.QRY_PGA_S1.Eof
                   do Begin
                      ZDBPGA.QRY_PGA_S1.Edit;
                      ZDBPGA.QRY_PGA_S1S2.Value := S2;
     
                      ZDBPGA.QRY_PGA_S1.Next;
                      End;
     
                   ZDBPGA.QRY_PGA_S1.ApplyUpdates;
                   ZDBPGA.QRY_PGA_SEC.ApplyUpdates;
                   end
              end;
         end;
    end;
    Dernière modification par Invité ; 23/04/2012 à 16h40.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/02/2014, 10h29
  2. Extraction d'une liste à partir de la valeur d'une cellule
    Par lps02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/07/2012, 20h07
  3. Réponses: 8
    Dernier message: 21/03/2011, 11h38
  4. ajouter une ligne dans un tableau et afficher la valeur d'une variable
    Par dede94 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/05/2010, 17h24
  5. Réponses: 6
    Dernier message: 29/11/2007, 16h15

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