11-03-2020, 06:56 PM
السلام عليكم ورحمة الله تعالى وبركاته
لقد اعدت نوع الحقل الى String
ووضعة هذه الدالة التي اعطيتني اياها
ثم وضعت في حدث الزر اضافة هذا الكود
لكن لاضيف الرقم الموالي كلما اضفت سجل يعطيني رقم 2020/001
ربما هناك شيء ما في الكود لم افهمه والله اعلم
بارك الله فيكم
لقد اعدت نوع الحقل الى String
ووضعة هذه الدالة التي اعطيتني اياها
كود :
function GetNewNumero(Annee: Integer): string;
var
tan: string;
tNum,Err : integer;
tKey : variant;
PriorFilter: string;
PrierFiltered: Boolean;
begin
PriorFilter:= DM.Table1.Filter;
PrierFiltered:= DM.Table1.Filtered;
DM.Table1.Filter:= 'Annee=' + IntToStr(Annee);
DM.Table1.Filtered:= True;
DM.Table1.Last;
tan:= DM.Table2Br.FieldValues['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:= PrierFiltered;
end;كود :
procedure TForm2.Button1Click(Sender: TObject);
var
NewNumero: string;
begin
NewNumero:= GetNewNumero(DM.Table2Br.FieldValues['Annee']);
DM.Table1.Append;
DM.Table1.FieldValues['No_Brd']:= NewNumero;
end;ربما هناك شيء ما في الكود لم افهمه والله اعلم
بارك الله فيكم

