ترقيم لعدد ما
#1
السلام عليكم ورحمه الله وبركاته
شباب عندي جدول به عمودين a,b   والجدول به حوالي 50 سجل
اريد ان ابدء ترقيم العمود a بدء من 1 الي 40 ( كل 5 ارقام لها رقم  واحد ) اي ليس لنهاية الجدول بالكامل

استخدمت هذا الكود ولكنه يقوم بترقيم العمود لنهاية الجدول
كود :
var  i, s: Integer; begin  s := 1;  i := 1;  ADOTable1.First;  While not(ADOTable1.eof) do  begin    for i := 1 to 5 do    begin      ADOTable1.Edit;      ADOTable1.FieldByName('l').AsInteger := s;      ADOTable1.Post;      ADOTable1.Next;    end;    s := s + 1  end;
الرد
#2
وعليكم السلام ورحمة الله
كود :
First s:=1; While not(ADOTable1.eof) do begin   for i := 0 to 4 do   begin     ADOTable1.Edit;     ADOTable1.FieldByName('l').AsInteger := s;     ADOTable1.Post;     ADOTable1.Next; if i:=4 then s:=inc(s) // or s:=s+1   end;   end;
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
الرد
#3
بارك الله فيك اخي

بس لا اعتقد ان الكود يصلح

اخي ما اريده ا
اعمل حلقة تكرارية كل 5 سجلات يكون لها رقم واحد ( اي كل 5 طلاب يكونوا في لجنه وحده رقم 1 ) ثم الخمسة التليين رقم 2 وهكذا

ولكن اريد الترقيم ليس لنهاية الجدول اريده مثلا لاول 50 طالب فقط

الكود الذي وضعته في اول مشاركة يرقم الجدول بالكامل
الرد
#4
السلام عليكم ورحمة الله وبركاته ،
نفس الكود الذي طرحته ، لكن كل مرة تحسب عدد السجلات المرقمة ، إذا كان عدد السجلات أكثر من 50 سجلا تخرج من الحلقة التكرارية.

كود :
var  i, s,k: Integer; begin  s := 1;  i := 0;  k := 1 ;  ADOTable1.First;  While (not(ADOTable1.eof)) AND (k <= 50)  do  begin    i := i + 1 ;    if i = 5 then    begin      s := s + 1 ;      i := 1 ;    end;             ADOTable1.Edit;      ADOTable1.FieldByName('k').AsInteger := s;      ADOTable1.Post;      k := k +1 ;     ADOTable1.Next;         end;
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#5
بارك الله فيك اخي
لقد نفع الكووود معي
شكرا لك اخي
الرد
#6
لم التفت انه ليس كل الجدول اسف
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
الرد


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


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