الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إضافة رقم مسلسل لنموذج أو إستعلام

مغلق
بدأه snmdody في 30 مايو 2004 · 25 رد · 3,619 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته .. وبعد ،،

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

مرفق مثال للتعديل عليه مشكورين

Sample.rar

#3

شكرا اخي مهند ، فقد وجدت ملفاً بالفعل وقد ارفقته هنا ولكني للأسف لم استطع ان أجري التعديلات التي اريدها على برنامج .. ارجو المساعدة وشكرا

مثال على ترقيم النماذج والاستعلامات.zip

#4

Up

#5

أخي الكريم ،،، لم تستطع إجراء التعديلات عليه لعدة أسباب سأذكرها لك :

أولا : لأنك لم تستورد الوحدة النمطية الموجودة بالمثال وهي :

Function RcNumq(mID As Variant, fldName As String) As Variant
Dim RstClone As Recordset
Dim Fld As Field
Dim I As Long
RcNumq = Null
If IsNull(mID) Then Exit Function
Set RstClone = CurrentDb.QueryDefs("q").OpenRecordset
If RstClone.RecordCount = 0 Then Exit Function
Set Fld = RstClone.Fields(fldName)
With RstClone
.MoveFirst
Do Until .EOF
I = I + 1
If Fld = mID Then Exit Do
.MoveNext
Loop
End With
RstClone.Close
RcNumq = I
End Function

ثانيا : عندما تتفحص المثال سوف تجد أنه يعتمد على إستعلام بإسم ( q )

Set RstClone = CurrentDb.QueryDefs("q").OpenRecordset

ثالثا : إعتماده لعمل عداد في الاستعلام أو في نموذج يكون على حقل ( ترقيم تلقائي )

عملت لك حقلا في جدول المعتمرين بإسم ( Number ) وجعلت له نوع البيانات ( تريقم تلقائي ) .

رابعا : في الاستعلام يعتمد فقط على الوحدة النمطية وحقل ( الترقيم التلقائي ) :

العد في الاستعلام: RcNumq([Number];"number")

خامسا : أما في النموذج فإنه يعتمد على الوحدة النمطية مع حقل ( الترقيم التلقائي ( Number ) يوضع هذا الكود في ( مصدر السجل لعرض الترقيم )

=RcNumq([Number];"number")

مرفق المثال بعد التعديل

Sample1.rar

المسلم من سلم الناس من لسانه ويده

#6

شكراً جزيلاً اخي الكريم يعمل الملف المعدل منك بطريقة صحيحة ، ولكن حين تنفيذ الفكرة على الملف الذي ارسلته في بداية هذه المشاركة لتطبيق الفكرة عليه تظهر رسالة خطأ .

ارجو ان لا اكون قد اثقلت عليك ، وارجو ان يتم التعديل على الملف الذي تم ارساله من قبلي وتجده في الاعلى لترى رسالة الخطأ التي تظهر فلا ادري ما السبب

شكراً جزيلاً

#7

أخي الكريم ،،، إقرأ بتمعن ما كتبته لك سوف تجد :

1 - لا يوجد عندك رقم حقل ( ترقيم تلقائي ) .

2 - لم تستورد الوحدة النمطية .

3 - لا يوجد عندك إستعلام بإسم ( q ) .

تفحص المثال الذي أرفقته لك .

وتفحص مثالك الذي بالأعلى .

سوف تجد الفرق كما أسلفت لك .

هذه الاسباب التي تسبب لك ظهور رسالة الخطأ .....

تم تعديل هذه المشاركة بواسطة starnoor2000 في 5 يونيو 2004 في 13:22

المسلم من سلم الناس من لسانه ويده

#8

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

مع شكري وتقديري مقدماً

#9

أخي الكريم ،،، أنا لم أعمل هذا المثال ،،، أقصد ( مثال على ترقيم النماذج والاستعلامات ) ولكن ما أستوعبته وفهمته من هذا المثال أنه يستوجب أن لديك في الجدول المراد عمل له ترقيم بالاستعلام أن يكون فيه حقل ( ترقيم تلقائي ) ،،،حتى تشير إليه وأيضا إستعلام كما هو موجود في المثال بإسم ( q ) أي مثله وليس هو ،،،،، للتنويه

إقتباس

اقتباس
وارجو كذلك إخباري هل عند الرغبة في إجراء نفس العملية لعدة إستعلامات هل يجب علي أن اكرر الوحدات النمطية بعدد الاستعلامات الموجودة لدي

أعتقد يستوجب ذلك !!!!!

أما بالنسبة لعدم عمله بعد إستيراده إلى برنامجك لا أدري ما السبب

هل عملت حقل ( ترقيم تلقائي ) في جدولك الموجود في برنامجك ؟؟؟

وهل أشرت إليه في الاستعلام ؟؟؟

تم تعديل هذه المشاركة بواسطة starnoor2000 في 5 يونيو 2004 في 18:49

المسلم من سلم الناس من لسانه ويده

#10

أخي الكريم لقد عرفت السبب وقمت بالتعديل على مثالك الذي أرفقته في أول المشاركة والسبب هو ترتيب المكتبات في ( Tools ) سوف يكون على النحو التالي :

Visual basic for applications
Microsoft Access 10.0 object library
Microsoft DAO 3.6 objects library
Mircrsoft Activex Data objects 2.1 library
OLE Automatin

بالترتيب كما هي ،،،، وإن شاء الله سوف يعمل معك البرنامج ,,,,

مرفق لك مثالك بعد التعديل عليه

تحياتي

Sample.rar

المسلم من سلم الناس من لسانه ويده

#11

والله انا عاجز عن الشكر لمتابعتك ورد السريع ، سوف اقوم بتحميل الملف الان لتجربته شكراً جزيلاً مقدماً

#12

لم يعمل معي حتى الآن ......

اقتباس
أخي الكريم لقد عرفت السبب وقمت بالتعديل على مثالك الذي أرفقته في أول المشاركة والسبب هو ترتيب المكتبات في ( Tools ) سوف يكون على النحو التالي :

يا ريت لو توضح لي أكثر كيفية تعديل المكتبات لاني وبصراحة متناهية لا اعرف عنها شياً حيث اني جديد نسبياً على الاكسس

الف شكر وآسف على الإزعاج

#13

حسناً يا أخي الكريم سوف أشرح لك كيفية ترتيب المكتبات ( المراجع ) :

1 - إذهب إلى الوحدة النمطية وإضغط على ( تصميم ) .

2 - سوف تظهر لك شاشة ( مايكروسوفت فيجول بيسك ) .

3 - من شريط القوائم بالاعلى ( Tools --- Run --- Debug --- --------------------- Files )

4 - اختر قائمة ( Tools )

5 - سوف تظهر لك قائمة إختر منها ( References )

6 - سوف تظهر لك نافذة ( Refernces Sample )

7 - هذه النافذة فيها أسماء المكتبات التي تحتاجها قاعدة البيانات لكي تعمل بالشكل

الصحيح .

8 - ضع علامة ( صح ) أما كل من المكتبات التي ذكرتها لك وهي :

Visual basic for applications
Microsoft Access 10.0 object library
Microsoft DAO 3.6 objects library
Mircrsoft Activex Data objects 2.1 library
OLE Automatin

هذا كل ما لدي من شرح ،،،

سؤال : هل عمل معك آخر مثال أم لأ ؟؟؟؟

المسلم من سلم الناس من لسانه ويده

#14

الف شكر على جهدك معي ...

ورداً على سؤالك .. فإن آخر مثال لم يعمل معي ، ويظهر في حقل (العد في الإستعلام) كلمة خطأ ...

جزاك الله كل خير وما قصرت ، وراح اجرب الطريقة التي اخبرتني عنها وإن شاء الله تذهب المشكلة

#15

غريبة يا أخي الكريم ،،،، كيف لم يعمل معك المثال الأخير ؟؟؟؟

هل قمت بإنزال الاوفس كاملاً عند تحميلك للأوفس ؟؟؟

ربما عندك مشكلة ،،، أو نقص ملفات ،،،،

معذرة لانني لم أستطع مساعدتك !!!!

أسأل الله لك التوفيق

المسلم من سلم الناس من لسانه ويده

#16
اقتباس
معذرة لانني لم أستطع مساعدتك

أخي الكريم لقد ساعدتني فعلاً ولكن ربما تكون المشكلة عندي فجزاك الله كل خير بمقدار كل حرف كتبته أو فكرت في كتابته ..

سأحاول أن اطبق ما اخبرتني به في آخر رد لك ..

كلمة شكر قليلة لشخصٍ كريمٍ مثلك

#17

حياك الله أخي الكريم ،،،، ما كتبته وما عملته لك من طيب خاطر مني وليس لي منة عليك فقط طلباً للثواب ونشر العلم والمعرفة ,,, ولكن يحزنني أنني لم أستطع أن أوصل معك لما طلبته فقط لا غير ,,,, وحياك الله أخي مرة أخرى أخ عزيز وغالي

المسلم من سلم الناس من لسانه ويده

#18

بارك الله فيك اخي الكريم .. واود أن اخبرك بأني تمكنت أخيراً من تنفيذ الفكرة وذلك بعد ترتيب المكتبات حسب إفادتك لي ..

ولي طلب بسيط لو سمحت لي ..

عند فتح النموذج الرئيسي ومن ثم إختيار قيمة لإظهارها في النموذج الفرعي الذي يحوي رقم مسلسل تظهر ارقام التسلسل صحيحة مية في المية ولكن عند تغيير القيمة في النموذج الرئيسي يستمر التسلسل .. ودعني اوضح اكثر ، مثلاً عند إختيار قيمة في النموذج الرئيسي ولنقل مثلاً رقم 3 فتظهر السجلات في النموذج الفرعي إبتداءاً من تسلسل رقم 1 إلى 10 مثلاً ، وعند تغيير الرقم في النموذج الرئيسي ولنقل مثلاً رقم 4 فتظهر السجلات هكذا 11 ---- الخ يعني لا يتم الفصل وإنما يستمر التسلسل ..

أرجو أن اكون قد اوضحت لك المشكلة

#19

فعلاً يا أخي الكريم كما تفضلت ،،،،

وأعتذر لعدم مقدرتي على خدمتك ،،، فهذه المشكلة تحتاج إلى التعديل على الـ

( Function ) الموجود في الوحدة النمطية بالمثال ,,,

معذرة أخي الكريم ،،، قد يساعدك أستاذنا ومشرفنا / مهند عبادي ،،، فهو محترف في الوحدات النمطية ,,,

معذرة مرة أخرى

تحياتي

المسلم من سلم الناس من لسانه ويده

#20

بارك الله فيك وما قصرت

#21

حياك الله أخي الكريم ،،،، وأدعو الله لك بالتوفيق والسداد

المسلم من سلم الناس من لسانه ويده

#23

شكراً جزيلاً اخي مهند ، ولكن كيف تم عمل عملية الترقيم بدون وجود وحدة نمطية ، وكذلك ماهي التصفية وكيف تعمل ، وارجو شرح التصفية التالية والتي عملتها في مثالك

((P.P_name="السادس"))

ارجو ان لا اكون قد اثقلت عليك ، وجزاك الله كل خير

#24

إنت الرائع يا أستاذ / مهند ،،،، جعل الله ذلك في ميزان حسناتك

المسلم من سلم الناس من لسانه ويده

#25

أخي snmdody

إن الـ Function موجود في نفس الفورم ch

بالنسبة للتصفية أنا لم أعمل تصفية .. ولكن إن خاصية التصفية تحافظ على قيمة آخر تصفية تم عملها .. ولكنها لا تفعّل إلا من خلال خاصية FilterOn نعملها تساوي True

ولعمل تصفية على قيمة ما نغضط بالزر الأيمن للفأرة فوقها ثم نختار : تصفية حسب التحديد

هذا الموضوع مغلق.

مواضيع مشابهة