12-03-2020, 09:36 AM
(11-03-2020, 10:46 PM)medreg كتب : اليكم المرفق للإطلاع والتعديل
علما انني استعمل قاعدة البيانات
absolute database
ونسخة الدلفي xe8
جزاكم الله عنا كل خير
في قاعدة البيانات Bords عندك الحقل Annee فارغ لا يحمل السنة لأنه يجب أن يحتوي السنة التي على أساسها تتم الفلترة
إليك التعديلات التالية في الكود وإليك رابط لتحميل الملف المعدل
https://www.mediafire.com/file/8cy26cwuz...m.rar/file
ملاحظة : .dproj يحتوي على configuration المشروع ، أما .dpr فهو الذي يحتوي على مصدر المشروع.
كود :
function GetNewNumero(Annee: string): string;
var
tan: string;
tNum,Err : integer;
tKey : variant;
PriorFilter: string;
PriorFiltered: Boolean;
begin
PriorFilter:= DM.Table1.Filter;
PriorFiltered:= DM.Table1.Filtered;
DM.Table1.Filter:= 'Annee=' + Annee;
DM.Table1.Filtered:= True;
DM.Table1.Last;
tan:= Annee;
tKey:= DM.Table1.fields[0].value;
if (tKey = NULL) or (copy(tKey, length(tKey)-3, 4)<>tan)then
tNum := 0
else
begin
val(copy(tKey, 1, 4), tNum, Err);
if Err<>0 then
tNum:= 0;
end;
Result:= Format('%4.3d/', [tNum + 1]) + tan ;
DM.Table1.Filter:= PriorFilter;
DM.Table1.Filtered:= PriorFiltered;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
NewNumero: string;
begin
NewNumero:= GetNewNumero(DM.Table2.FieldValues['Annee']);
DM.Table1.Append;
DM.Table1.FieldValues['No_Brd']:= NewNumero;
DM.Table1.FieldValues['Annee']:= DM.Table2.FieldValues['Annee'];
DM.Table1.Post;
end;
