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 '**'.
J'ai utilisé cette procédure pendant des années, une fois DBQ avait une longueur nulle, d'où l'ajout au filtre.
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;
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.
Partager