مشكلة تواجهني في عملية اضافة سجل
#11
بارك الله فيكم اخي العزيز وجزاكم الله عنا خير الجزاء
الرد
#12
(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.


الملفات المرفقة
.rar   Exemple_Num.rar (الحجم : 59.85 KB / التحميلات : 2)
ينبغي للعالم ان يخاطب الجاهل مخاطبةالطبيب للمريض .
سقراط.
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف