تخريج قيمة تلقائية للحقول التعريفية
#3
إقتباس : (هناك اشياء يراها اشخاص اخطاء واخرون رائعة Big Grin)
...كانت مجرد وجهة نظر :o، ...وأحيانا يتفقون :p

اكتفيت بكتابة شيء مثل:
PHP كود :
if not (DataSet.State = dsInsert) then Exit;
  
DataSet.FieldByName('BookID').AsString := 'BK'+
  
Format('%0.4d',[DataSet.RecordCount+1]); 

في الحدث BeforePost.
... لكن المشكلة إذا حذف تسجيل سابق، فسيحدث خلل عند إضافة تسجيل جديد
مثلا:
في هذا المثال: ستكون قيمة الحقل في أول تسجيل: BK0001 والذي بعده BK0002
لكن ماذا سيحدث لو قام المستخدم بحذف السطر المعرف بـ : BK0001 ثم حاول إضافة حقل جديد...
سيفاجئ برسالة خطأ لأن القيمة المخرجة هي BK0002 وهي نفس القيمة في السطر السابق، ذلك لأن الحقل مفتاح أساسي لا يقبل قيم مكررة.
ما أفضل طريقة للتخلص من ذلك؟
شكرا مسبقا Big Grin
الرد


الردود في هذا الموضوع
تخريج قيمة تلقائية للحقول التعريفية - بواسطة kachwahed - 23-06-2009, 04:53 PM

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


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