Bonjour.

Dans un programme j'ai une procédure qui sélectionne les enregistrements sur le champ DBQ=' '.
Ce champ date DBQ, en fait le mois, n'a que les valeurs suivantes : ' ' (2 espaces), '01'..'12' ou '**'.

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
procedure TFInitA.CreatWdeps;
begin   // creation du fichier archive de AN sans les enreg. non réglés  DBQ = '  ';
  FichSt.Tbst.ReadOnly := False;
  FichSt.Tbst.Close;
  FichSt.Tbst.TableName := Depw+'bak.dbf'; // à partir de fich. de AN sauvegardé
  FichSt.Tbst.Filter := '(DBQ <> ''  '')  OR (DBQ <> '''' )';       // 05/01/2009
  FichSt.Tbst.Filtered := true;
  FichSt.CopieFichDB(FichSt.TbSt, DepMod.TbAff, NWdepAN+'.dbf');
  DepMod.TbAff.AddIndex('IxNrep','NREP',[]);
  DepMod.TbAff.AddIndex('IxCode','CODE',[]);
  MemFA.Lines.Add('  Création du f. '+ NWdepAN +'.dbf');             // archivé
 
  FichSt.Tbst.Close;  // création du fich AN1 avec report des enreg. non réglés  WDEP13
  FichSt.Tbst.TableName := Depw+'bak.dbf';
  FichSt.TbSt.Filtered := false;
  FichSt.Tbst.Filter := '(DBQ = ''  '') OR (DBQ = '''' )' ;         // 05/01/2009
  FichSt.Tbst.Filtered := true;       // filtrage du nouveau fichier de l'année
  FichSt.AjoutFichDB(FichSt.TbSt, DepMod.TbAff, DepW+'.dbf');
  MemFA.Lines.Add('  Création du f. '+Depw+'.dbf de la nouvelle année'); //EC WDEP
 
  FichSt.Tbst.Close;
  FichSt.Tbst.Filtered := false;
  FichSt.Tbst.Filter := '';
end;
 
procedure TFInitA.CopieFich(TablSource, TablDestination : Ttable; NomFDest : string);
begin                                                     //nom du f.destination
  TablDestination.TableName := NomFDest;            
  TBM.Destination := TablDestination;                 
  TBM.Source := TablSource;                           
  TBM.Mode := batCopy;
  TBM.Execute;                                      
end;
J'ai utilisé cette procédure pendant des années, une fois DBQ avait une longueur nulle, d'où l'ajout au filtre.
Mais cette fois la sélection ne fonctionne pas, même après avoir modifié à ' ' des champs DBQ.

Pourquoi ce défaut de sélection ?

Bonne Année à tous.