09-02-14, 08:32 PM
09-02-14, 10:44 PM
السلام عليكم
اذا كان الترقيم تلقائي والزيادة بمقدار واحد فلن تستطيع ارجاع الرقم مرة اخرى
تحياتي
اذا كان الترقيم تلقائي والزيادة بمقدار واحد فلن تستطيع ارجاع الرقم مرة اخرى
تحياتي
10-02-14, 10:42 AM
لا
مش ترقيم تلقائي
مش ترقيم تلقائي
11-02-14, 11:52 AM
(21-09-13, 05:28 PM)@@أبورائد@@ كتب : [ -> ]السلام عليكم و رحمة الله و بركاته
يجب عدم الاعتماد جقل ترقيم تلقائي لعرض أرقام تسلسلية لأنه لن يفيد حتى لو لم تقم بحذف أي أسطر
قنفرض أنك استعلمت عن مجموعة بيانات واستخدم فيها Where ستكون النتيجة بالنسبة للرقم التسلسلي مخيبة
يجب على الكل إاعدة النظر في هذه الفكرة الخاطئة.
الرقم التسلسلي إجعله باستخدام الكود فهي الطريقة الصحيحة بالنسبة لـ MSAccess
أما في SQLServer فتوجد خدمة لارفاق حقل مؤقت يحتوي على الرقم التسلسلي يتم به الاستغناء عن برمجته بالكود.
السلام عليكم و رحمة الله و بركاته
انظر المشاركة رقم 4



01-10-15, 01:54 AM
(09-02-14, 08:32 PM)السندباد المصري كتب : [ -> ]عندي حقل الid حقل بة ارقام من 1 ال 1000 وعند حزف رقم 5 مثلا يبقي فارغا اريد اعادة الترقيم بعد الحزف
اولا لا تستخدم الترقيم التلقائي واستخدم حقل رقمي صحيح
ثانيا : استخدم هذة الدالة لأعادة الترقيم اذا كان الرقم موجود
Dim randomnum As New Random
For i As Int16 = 0 To (c - 1)
start:
x = randomnum.Next(0, c)
If (ListBox1.Items.Contains(x)) Then
GoTo start
End If
Next
ListBox1.Items.Add(x)
استخدم نفس الفكرة بس غير على الحقل المراد فحصة
ثالثا : استخدم هذة الدالة لجلب رقم جديد ( ترقيم تلقائي )
public int MaxId (string Table , string field)
{
Connection();
con.Open();
OleDbCommand cmd = new OleDbCommand("Select MAX(" + field + ")" + " FROM " + Table, con);
cmd.Connection = con;
if (cmd.ExecuteScalar() == DBNull.Value)
{
return 1;
}
else
{
return int.Parse(cmd.ExecuteScalar().ToString()) + 1;
}
}