مشكلة تواجهني في عملية اضافة سجل
#7
(10-03-2020, 09:57 PM)medreg كتب : السلام عليكم ورحمة الله تعالى وبركاته
بارك الله فيكم اخي
هناك مشكل اخر وهو ان بعدما جربت الكود المعدل من طرفكم يعمل جيد الا انه يعمل على نفس السنة اما اذا غيرت السنة يبدأ بالرقم 1 للسنة الجديدة
لكن كل اضفت سجل جديد للسنة الجديدة يعيني رقم 1 اي لا يعطي الرقم الموالي
وبعدما فيرت نوع الحقل No_Brd كما اشرت في مداخلتك الى Smallint لا يقبل الرقم المضاف اليه السنة مثلا 001/2020 يعطيني رسالة خطأ

رسالة الخطأ هي كالتالي :
'001/2020' n'est pas une valeur entière correcte pour le champ 'No_Brd'

لا تقم بتغيير نوع الحقل ، إليك الكود التالي يتكون من function تعطيك الرقم الجديد ، و procedure للإضافة 


كود :
function TForm2.GetNewNumero(Annee: Integer): string; var   tan: string;   tNum,Err : integer;   tKey : variant;   PriorFilter: string;   PrierFiltered: Boolean; begin   PriorFilter:= DM.Table1.Filter;   PriorFiltered:= 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:= PriorFiltered; end; procedure TForm2.AddRecord; var   NewNumero: string; begin   NewNumero:= GetNewNumero(DM.Table2Br.FieldValues['Annee']);   DM.Table1.Append;   DM.Table1.FieldValues['No_Brd']:= NewNemoro; end;
الرد


الردود في هذا الموضوع
RE: مشكلة تواجهني في عملية اضافة سجل - بواسطة ghostdz - 11-03-2020, 11:51 AM

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم