كيفية جعل المفتاح الرئيسي مثلا رقم المنتوج يزداد تلقائيا auto increment
#1
كيفية جعل المفتاح الرئيسي مثلا رقم المنتوج يزداد تلقائيا في الاضافة وينقص تلقائيا في الحذف علما اني اعمل بواسطة sql server وdelphi7وقد جربت الخاصية compteur في sql serverلكن واجهتني مشكلة في عملية الحذف
الرد
#2
كيفية ادخال رقم تسلسلي في حقل adotable مثل 0001 يتزايد ذاتيا
الرد
#3
اذا استعملت البرادكس يوجد نوع خاص من الحقول يزدادة تلقائيا رمزه+
اي نوعالحقل يكون+
الرد
#4
السلام عليكم
ان كنت تستعمل access وتريد ان تجعل دلك الحقل مفتاح رئيسي مثلا في جدولك فاعطه القيمة
type de données= NuméroAuto فسيزداد تلقائيا عند كل تسجيلة جديدة
بالتوفيق
و من طلب العلوم بغير كد _________ سيدركها إذا شاب الغراب
الرد
#5
تقوم بتعريف متعير رقمى انا حكتب لك الكود
var

a :integer;

ثم
جمله sql لمعرفه اخر رقم
SELECT
FROM enfant
WHERE nonoid=(
SELECT max(nonoid) FROM enfant
)

ثم نقوم باضافة رقم جديد لناتج query
a:= Query1nonoid.AsInteger+1
ثم تقوم بفتح table المراد حفظ الناتج فيه

tbl1.Append;
tbl1Nonoid.AsInteger:=a;
tbl1.Post;

ربما يوجد حل اسهل ولكن هذا ما توصلت اليه
الرد
#6
أخي bassem_43

أعتقد أن مشكلة الأكسس في الحذف أي أنه لا ينقص تلقائيا؟؟
صحح لي إن كنت مخطئا؟؟
الرد
#7
you_per7 كتب :أخي bassem_43

أعتقد أن مشكلة الأكسس في الحذف أي أنه لا ينقص تلقائيا؟؟
صحح لي إن كنت مخطئا؟؟
نعم معك حق هي مشكلة بالنسبة لي ايضا
ربما توجد طريقة اخرى للحل انا لا اعرفها
و من طلب العلوم بغير كد _________ سيدركها إذا شاب الغراب
الرد
#8
السلام عليكم
بالنسبة لهذه الخاصية هناك طريقتين:
الطريقة الاولى:
الــ AutoNumber مثلما شرحها لك الاخ bassem_43
مميزاتها
- السجل يحافظ على رقمه.
- في حالة حذف سجل ما فان كل سجل يبقى بنفس الترقيم الذي اعطي له في الاول
الطريقة الثانية:
الــ RecordCount و هي تقوم بحساب عدد السجلات في الجدول ثم تضيف رقم في حالة اضافة سجل جديد
مميزاتها
- السجل لا يحافظ على رقمة.
- في حالة حذف سجل ما فان الترقيم يحافظ على الترتيب .
بالتوفيق
I just got here !
الرد
#9
السلام عليكم...

حقول الترقيم التلقائي (Auto-increment في Access أو Identity في SQL Server) مصممة أصلاً لتكون لها ثلاث مزايا:

1. تعطى لها قيمة تلقائية عند إضافة سجل جديد.
2. القيمة تزداد بشكل تلقائي. و هذا يؤدي إلى أن القيمة المستعملة سابقاً لا يعاد استعمالها حتى و إن حُذفت.
3. عدم تكرار القيم في الحقل.

* ملاحظة: القيمة التي يتم توليدها تلقائياً أثناء عملية الإضافة لا يتم إعادة استخدامها حتى و إن أُلغيت العملية و لم يُضف السجل (بسبب حدوث خطأ ما مثلاً).

غالباً ما تستعمل هذه الحقول للربط بين الجداول (داخلياً و ليس للعرض على المستخدم)، مثلاً ربط الفواتير بالزبائن. و لهذا من المنطقي أن لا يكون مسموحاً بإعادة الترقيم في هذه الحقول، و إلا ستصبح هناك لخبطة في عمليات الربط.

مثلاً: نفرض أن لدينا فواتير مرقمة من 1 إلى 10 و كانت موزعة على زبونين كالتالي:

الزبون "خالد" له الفواتير 1 و 2 و 3 و 7 و 9.

الزبون "سالم" له الفواتير 4 و 5 و 6 و 8 و 10.

و الآن إذا حذفنا الفاتورة رقم 6 (تخص سالم) ثم أعدنا ترقيم الفواتير فسيحدث التالي:

الفاتورة رقم 7 (تخص خالد) يصبح رقمها 6 (ذهبت إلى سالم).
الفاتورة رقم 8 (تخص سالم) يصبح رقمها 7 (ذهبت إلى خالد).
الفاتورة رقم 9 (تخص خالد) يصبح رقمها 8 (ذهبت إلى سالم).
الفاتورة رقم 10 (تخص سالم) يصبح رقمها 9 (ذهبت إلى خالد).

نرجو الاستفادة و السلام.
الرد


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


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