delphi4arab منتديات دلفي للعرب
كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute (/showthread.php?tid=10155)

الصفحات: 1 2


كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - فارس المطر - 12-04-2019

السلام عليكم

كيف يتم الترقيم التلقائي في قاعدة المعطيات Absolute

لنفرض انا لدينا جدول به أسماء الموظفين

نضيف عمود به الرقم التسلسلي للموظفين

كيف يتم الترقيم التسلسلي للموظفين  وتكون اظافة الرقم تلقائيا عند كل اظافة سجل اي موظف جديد

وعند حذف موظف يتم التصحيح تلقائيا وشكرا .


RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - S.FATEH - 13-04-2019

السلام عليكم الترقيم التلقائي لا يتم تصحيحه ...


RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - فارس المطر - 14-04-2019

أخي ليس عندي فكرة عن عملية الترقيم التلقائي بقاعدة البيانات
أبحث عن الطريقة لتعلم ذلك

لا اقصد التصحيح
اعني يأخذ الترتيب التلقائي بعد الحذف

قمت بتجريب هذه الدالة في زر الاظافة لكن مازال عندي مشكل
كود :
function code_suiv(x:string):string; var y,c:string; t,i:integer; begin y:=inttostr(strtoint(x)+1); t:=length(y); c:=''; for i:= 1 to length(x)-t do c:=c+'0'; code_suiv:=c+y; end; procedure TForm4.BitBtn1Click(Sender: TObject); var x:string; begin ABSTable1.Last; x:= ABSTable1.FieldValues['N']; ABSTable1.Insert; ABSTable1.FieldValues['N']:=code_suiv(x); end;



RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - S.FATEH - 14-04-2019

السلام عليكم لا استخدم Absolute Database و الا كنت ساعدتك ربما هذا يفيدك
PHP كود :
http://www.componentace.com/last-auto-inc-delphi.htm 



RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - makhlouf - 15-04-2019

السلام عليكم و رحمة الله تعالى و بركاته
أخي اذا اردت الترقيم التلقائي موجود نوع من البيانات -type of data- وهو AutoInc يقوم بالترقيم التلقائي
أما إذا أردت اضافة شيء للترقيم مثلا السنة 19/0001 فهنا عليك بإضافة دالة تقوم بذلك
بالتوفيق


RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - Mustapha29 - 15-04-2019

أنا أستعمل هذا الكود
حاول التغيير فيه حسب ماتراه مناسبا لك
Smile
كود :
procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin i:=0; with adoTable1 do begin   First;   While Not EOF do   begin   edit;   Inc(i);    adotable1id.Value:=i;    Next;   end; end; end;



RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - فارس المطر - 15-04-2019

شكرا أخي على تنويه

وهل ينطبق ذلك على قاعدة بيانات من نوع Absolute

لقد غيرته  في قاعدة بيانات الى AutoInc

لكن لم ينجح الأمر ...  

مثال مرفق على ذلك


RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - onexite - 15-04-2019

وعليكم السلام هذه دالة استخدمتها لترقيم الفواتير حسب السنة
وكملاحظة فقط عند حذف سجل يجب ان يكون السجل الاخير فقط لتعمل الدالة بفعالية لتفادي التكرار

PHP كود :
function Get_Bill_In_NUM(myDate: TDateTime): ShortString;
var
 sltb: TSQLIteTable;
 Year: Word;
begin
 Year 
:= YearOf(myDate);
   // رقم السلع الداخلة
 sltb := SQLiteDatabase.GetTable('select count(*) as _count from bills_in where date like "%' + inttostr(Year) + '"');
 try
   if sltb
.Count > 0 then
     Result 
:= IntToStr(Year) + '/' + (inttostr(sltb.FieldAsInteger(sltb.FieldIndex['_count']) + 1))
   else
     Result 
:= IntToStr(Year) + '/' + ('1');

 finally
   sltb
.Free;

end;
 end; 


الصورة المرفقة توضح طريقة عمل الدالة حبث عند تغيير التاريخ يتغير الترقيم


RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - فارس المطر - 15-04-2019

شكرا جزيلا لكم جميعا

تم ترقيم القاعدة بنجاح كما قال الأخ makhlouf

لكن بقيت المشكلة عند حذف سجل الجدول لا يواصل الترتيب التلقائي بل يتخطى الرقم المحذوف

ما هو حل مشكلة تعديل الارقام بعد الحذف


RE: كيف يتم الترقيم التلقائي لعمود جدول في قاعدة المعطيات Absolute - Mustapha29 - 15-04-2019

(15-04-2019, 06:26 PM)فارس المطر كتب : شكرا أخي على تنويه

وهل ينطبق ذلك على قاعدة بيانات من نوع Absolute

لقد غيرته  في قاعدة بيانات الى AutoInc

لكن لم ينجح الأمر ...  

مثال مرفق على ذلك

1- لا يمكن تغيير الحقل AutoInc 
2- أضف حقل ترقيم من إنشائك الذي سوف يقع عليه التغيير ( حذف تغيير تبديل .. ) الذي سميته أنا [size=small]id[/size]
[size=small]3- غير adotable بـ  Absolute[/size]