Bonjour,

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
 
  // On recherche les commandes dont le TCD est à 8 :
  oq_Tcd8.Close; oq_Tcd8.SQL.Clear;
  oq_Tcd8.SQL.Add('Select CDEXENT, DEPXENT, NUMXENT, CHGXENT, TCDXENT from ENTXRES where DEPXENT ='''+x_dep+'''and CHGXENT=''P''');
  oq_Tcd8.SQL.Add('and TCDXENT=''8'' and LDCXENT=''Y'' group by CDEXENT, DEPXENT, NUMXENT, CHGXENT, TCDXENT');
  TestRequete1(oq_Tcd8, 'OPENREQ', 'Echec sélection TCD8 (UnitChgtML - 001)', os_Session);
 
 
  // On recherche toutes les commandes dont le TCD = 3
  oq_Tcd3.Close; oq_Tcd3.SQL.Clear;
  oq_Tcd3.SQL.Add('Select CDEXENT, DEPXENT, NUMXENT, CHGXENT, TCDXENT from ENTXRES where DEPXENT ='''+x_dep+''' and TCDXENT=''3''');
  oq_Tcd3.SQL.Add('and CHGXENT <> ''Y'' and LDCXENT=''Y'' ORDER BY CHGXENT DESC');
  TestRequete1(oq_Tcd3, 'OPENREQ', 'Echec sélection TCD3 (UnitChgtML - 002)', os_Session);
 
  if not oq_Tcd8.Eof then
    begin
      x_cmd := oq_Tcd8.FieldasString('CDEXENT');
      x_chg := oq_Tcd8.FieldasString('CHGXENT');
      x_tcd := oq_Tcd8.FieldasString('TCDXENT');
      if (oq_Tcd8.FieldAsString('CHGXENT') = 'S') or (oq_Tcd8.FieldAsString('CHGXENT') = 'P') then
      begin
        x_cmd := '';
        b_RecupDonnees := True;
        b_RecupList := True;                // Ne prend que celui-ci pq ?
        b_RecupNbCmd := True;
      end
      else
      begin
        b_RecupList := True
      end;
    end;...
Mon problème se trouve dans le commentaire si je me met en pas à pas je me rend compte qu'il n'y a que mon booléen b_recupList qui est passé à True, le programme ne passe pas sur b_RecupDonnees ni sur b_RecupNbCmd alors qu'ils sont soit juste avant soit juste après...

Je ne comprend pas...