13-03-2020, 03:50 PM (آخر تعديل لهذه المشاركة: 13-03-2020, 04:45 PM بواسطة anter2016.)
(11-03-2020, 10:46 PM)medreg كتب : اليكم المرفق للإطلاع والتعديل
علما انني استعمل قاعدة البيانات
absolute database
ونسخة الدلفي xe8
جزاكم الله عنا كل خير
السلام عليكم جرب هذا
كود :
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;
tan:= Annee;
DM.Table1.Last;
tKey:= DM.Table1.FieldByName('No_Brd').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/', [DM.Table1.RecordCount+ 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;
(13-03-2020, 03:50 PM)anter2016 كتب :
(11-03-2020, 10:46 PM)medreg كتب : اليكم المرفق للإطلاع والتعديل
علما انني استعمل قاعدة البيانات
absolute database
ونسخة الدلفي xe8
جزاكم الله عنا كل خير
السلام عليكم جرب هذا
كود :
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;
tan:= Annee;
DM.Table1.Last;
tKey:= DM.Table1.FieldByName('No_Brd').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/', [DM.Table1.RecordCount+ 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;
كود :
function TForm1.AutoID: string;
var
ID ,t: string;
begin
t:= IntToStr(DM.Table1.RecordCount + 1);
ID := FormatFloat('0000' ,StrToInt(t)) + '/' + Copy(DBEdit2.Text,1,4);
Result := ID;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
dm.Table1.Insert;
dm.Table1No_Brd.value := AutoID;
end;
end.
(13-03-2020, 03:50 PM)anter2016 كتب :
(11-03-2020, 10:46 PM)medreg كتب : اليكم المرفق للإطلاع والتعديل
علما انني استعمل قاعدة البيانات
absolute database
ونسخة الدلفي xe8
جزاكم الله عنا كل خير
السلام عليكم جرب هذا
كود :
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;
tan:= Annee;
DM.Table1.Last;
tKey:= DM.Table1.FieldByName('No_Brd').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/', [DM.Table1.RecordCount+ 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;
(13-03-2020, 03:50 PM)anter2016 كتب :
(11-03-2020, 10:46 PM)medreg كتب : اليكم المرفق للإطلاع والتعديل
علما انني استعمل قاعدة البيانات
absolute database
ونسخة الدلفي xe8
جزاكم الله عنا كل خير
السلام عليكم جرب هذا
كود :
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;
tan:= Annee;
DM.Table1.Last;
tKey:= DM.Table1.FieldByName('No_Brd').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/', [DM.Table1.RecordCount+ 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;
كود :
function TForm1.AutoID: string;
var
ID ,t: string;
begin
t:= IntToStr(DM.Table1.RecordCount + 1);
ID := FormatFloat('0000' ,StrToInt(t)) + '/' + Copy(DBEdit2.Text,1,4);
Result := ID;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
dm.Table1.Insert;
dm.Table1No_Brd.value := AutoID;
end;
end.