مرفق مستند نصى به المشكلة اذا كان هناك احد يستطيع المساعدة لوجة الله فارجو منة الاهتمام وله جزيل الشكر
تقسيم سلسلة رقمية بشروط
yasser saleh كتب:مرفق مستند نصى به المشكلة اذا كان هناك احد يستطيع المساعدة لوجة الله فارجو منة الاهتمام وله جزيل الشكر
ارجو سرعة الرد للاهمية
yasserhome
اتبع الخطوات التالية أخى الكريم
1- أضف جدول جديد باسم Trange مكون من عمودين Frm و To
2- افتح نموذج و ضع به ذر
3- فى حدث عند الضغط للزر ضع هذا الكود
Dim rst As DAO.Recordset
Dim lngfrst ,lngcurr ,lngLast As Long
CurrentDb.Execute "delete Trange.* from Trange;"
Set rst = CurrentDb.OpenRecordset("table1", dbOpenDynaset)
rst.MoveFirst
lngfrst = rst.Fields("id")
lngLast = lngfrst
While rst.EOF = False
lngcurr = rst.Fields("id")
Select Case lngcurr
Case Is = lngfrst
Case Is = lngfrst + 1
lngLast = lngcurr
Case Is > lngfrst + 1
CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");"
lngfrst = lngcurr
lngLast = lngfrst
End Select
rst.MoveNext
Wend
CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");"
rst.Close
Set rst = Nothing
DoCmd.OpenTable "Trange"تم تعديل هذه المشاركة بواسطة Abo_Yossof في 4 أبريل 2011 في 22:58
Abo_Yossof كتب:اتبع الخطوات التالية أخى الكريم
1- أضف جدول جديد باسم Trange مكون من عمودين Frm و To
2- افتح نموذج و ضع به ذر
3- فى حدث عند الضغط للزر ضع هذا الكود
Dim rst As DAO.Recordset Dim lngfrst ,lngcurr ,lngLast As Long CurrentDb.Execute "delete Trange.* from Trange;" Set rst = CurrentDb.OpenRecordset("table1", dbOpenDynaset) rst.MoveFirst lngfrst = rst.Fields("id") lngLast = lngfrst While rst.EOF = False lngcurr = rst.Fields("id") Select Case lngcurr Case Is = lngfrst Case Is = lngfrst + 1 lngLast = lngcurr Case Is > lngfrst + 1 CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");" lngfrst = lngcurr lngLast = lngfrst End Select rst.MoveNext Wend CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");" rst.Close Set rst = Nothing DoCmd.OpenTable "Trange"
الف شكر ليك على الاهتمام و الرد بس فية شرط لما يسلسل الارقام انة ميجبش الارقام اللى عليها علامة صح
و بس يجيب الارقام المسلسلة بالترتيب اللى معليهاش علامة صح
بمعنى مثلاً
عندى ارقام من 1 الى 100
منهم ارقام عليها علامة صح مثلاً
رقم 4 و 15 و 20 وهكذا
المطلوب :
من الى
1 3
5 14
16 19
21 100
وهكذا
ارجو انى اكون قد اوضحت لك المطلوب و مرة اخرى الف شكر
ومنتظر تعاونك معى و الوصول الى الحل
yasserhome
لا أفهم ما تقصده أخى
لقد وضعت ما طلبته انت فى ملف الورد
ضع قاعدة بها ماتريد حتى يمكننا المساعدة
Abo_Yossof كتب:لا أفهم ما تقصده أخى
لقد وضعت ما طلبته انت فى ملف الورد
ضع قاعدة بها ماتريد حتى يمكننا المساعدة
شكرا ليك مرة اخرى
ومرفق قاعدة البيانات
Abo_Yossof كتب:لا أفهم ما تقصده أخى
لقد وضعت ما طلبته انت فى ملف الورد
ضع قاعدة بها ماتريد حتى يمكننا المساعدة
شكرا ليك مرة اخرى
ومرفق قاعدة البيانات
yasser saleh كتب:شكرا ليك مرة اخرى
ومرفق قاعدة البيانات
شكرا ليك مرة اخرى
ومرفق قاعدة البيانات
بة نموذج لادخال الارقام والمطلوب كما ذكرت بالاعلى
yasserhome
استخدم هذا الكود
Dim rst As DAO.Recordset
Dim lngfrst, lngcurr, lngLast As Long
CurrentDb.Execute "delete Trange.* from Trange;"
Set rst = CurrentDb.OpenRecordset("SELECT Table2.from, Table2.check FROM Table2 WHERE (((Table2.check) = False)) ORDER BY Table2.from;")
rst.MoveFirst
lngfrst = rst.Fields("from")
lngLast = lngfrst
While rst.EOF = False
lngcurr = rst.Fields("from")
Select Case lngcurr
Case Is = lngLast
Case Is = lngLast + 1
lngLast = lngcurr
Case Is > lngLast + 1
'lngLast = lngcurr
CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");"
lngfrst = lngcurr
lngLast = lngfrst
End Select
rst.MoveNext
Wend
CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");"
rst.Close
Set rst = Nothing
DoCmd.OpenTable "Trange"Abo_Yossof كتب:استخدم هذا الكود
Dim rst As DAO.Recordset Dim lngfrst, lngcurr, lngLast As Long CurrentDb.Execute "delete Trange.* from Trange;" Set rst = CurrentDb.OpenRecordset("SELECT Table2.from, Table2.check FROM Table2 WHERE (((Table2.check) = False)) ORDER BY Table2.from;") rst.MoveFirst lngfrst = rst.Fields("from") lngLast = lngfrst While rst.EOF = False lngcurr = rst.Fields("from") Select Case lngcurr Case Is = lngLast Case Is = lngLast + 1 lngLast = lngcurr Case Is > lngLast + 1 'lngLast = lngcurr CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");" lngfrst = lngcurr lngLast = lngfrst End Select rst.MoveNext Wend CurrentDb.Execute "insert into Trange (Frm,To) values (" & lngfrst & "," & lngLast & ");" rst.Close Set rst = Nothing DoCmd.OpenTable "Trange"
مش لاقى كلام اقوله ليك يااخى الفاضل
عموما متشكر الف مرة على الاهتمام و الرد
وارجو ان تقبلنى اخ لك
الف شكر
لا
مليون شكر
yasserhome
أخى الكريم
أهلا بك
كلنا فى النهاية أخوة و كلنا لا يرجو الا وجه الله