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

الرقم القومى

مغلق
بدأه alaamo_nest في 28 سبتمبر 2007 · 3 رد · 8,578 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

كل عام و سيادتكم بخير بمناسبة شهر رمضان المعظم أعاده الله علينا وعليكم و على الأمة الإسلامية باليمن والبركات

بالنسبة للرقم القومى فهو يتكون من تاريخ الميلاد و الرقم القومى

هل من طريقة يكون فيها شرط فى حالة إدخال تاريخ الميلاد مخالف لتاريخ الميلاد الموجود فى الرقم القومى بحيث يكون قيمة تاريخ الميلاد الموجود فى حقل تاريخ الميلاد هى نفسها الموجودة فى الرقم القومى فمثلا

تاريخ الميلاد 1/1/1970 و يكون الرقم القومى مثلا 27001012358654 هذا يكون الرقم القومى صحيح

أما إذا قام المستخدم بإدخال الرقم القومى بهذا الشكل 27002012358654 يون الرقم القومى خطا فى الشهر و الرقم 2 بدلا من 1 فهل من طريقة أو شرط بحيث يتم إدخال كلا منهم بالرقم الصحيح

و لسيادتكم جزيل الشكر

أرجو من سيادتكم إرفاق مثال إذا أمكن

و نحن عاجزين على شكر مجهوداتكم

#2

اخي / alaamo_nest

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

في مثالك الرقم القومي هو 27001012358654 وتاريخ الميلاد 1/1/1970 ... فأين تاريخ الميلاد بين ارقام الرقم القومي

يرجى التوضيح مع وضع مثالك ليتمكن الجميع من المساهمة في الحل

مع الشكر

#3

اخي الفاضل

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

مع انك لم توضح جيدا المطلوب او الطريقة فإننا سوف نشرح ما قمنا بعمله

اولا : لنفرض ان لديك حقل تاريخ في الجدول واسم هذا الحقل هو BOD بهذه الصيغة 1970/01/01

نريد الآن تحويل هذا التاريخ الى رقم بإستخراج الأرقام منه ونضعه في مربع نص غير منظم مثل ChkNumber

="2" & Mid([BOD];9;2) & Mid([BOD];4;2) & Mid([BOD];1;2)

لاحظ اننا وضعنا في اقصى اليسار الرقم " 2 " وهو يشير الى الألف الثاني من السنين حيث لم نصل بعد الى سنة 3000 م بل لا زلنا في سنة 2007 م ثم استخرجنا سنة 70 من التاريخ بالدالة MID وهي المشارة اليها بـ 2;9 ثم استخرجنا الشهر من التاريخ وهو هنا 01 بواسطة الدالة MID وهو يمثل 2;4 ثم استخرجنا اليوم من التاريخ وهو هنا 01 بواسطة الدالة MID وهو يمثل 2;1

ثانيا : يجب ان يكون لديك حقل الرقم فقط وهو عبارة عن مربع نص Number لكي نكتب فيه رقم البطاقة فقط

الآن عندما نكتب اي تاريخ مثل 1975/04/22 فسنجد ان حقل ChkNumber قد قام بالتعديل الى 2750422 حيث الرقم الأول والثاني من جهة اليمين هما تاريخ اليوم والرقم الثالث والرابع من جهة اليمين هما للشهر والرقم الخامس والسادس هما للسنه والرقم السابع هو للألف الثاني من السنين .

مثال ايضا حتى تتضح الرؤية للتاريخ 1988/11/16 سيكون الرقم هو 2881116

يوجد لدينا الآن الحقل الرئيسي وهو الرقم القومي المطلوب التأكد منه في حالة كتابة اي رقم مخالف للمعايير وسيكون بمثابة مربع نص ( يجب ان يكون تنسيقه نصي وليس رقمي ) وسنعطيه الإسم NaNumber وسوف يتم ادخال الأرقام فيه مباشرة بدون تدخل منك ( لا تحاول تكتب فيه اي شيء )

نقوم الآن من خلال الكود البرمجي بدمج كود التأكد من التاريخ وهو هنا الحقل ChkNumber مع حقل رقم البطاقة وهو هنا الرقم Number ليصبح الرقم القومي بهذا الشكل

Me![NaNumber] = Me![ChkNumber] & Me![Number]

لاحظ اننا وضعناه في الكود وليس في مربع النص

نقوم الآن من خلال الكود بعملية التأكد من هذه العملية فإن كانت الأرقام صحيحة فلن تضهر لك رسالة تنبيه وايقاف العملية وان كانت الأرقام خاطئة فلن يتم قبولها في الرقم القومي وستكون بهذه الطريقة في حدث قبل التحديث لحقل الرقم القومي

Private Sub NaNumber_BeforeUpdate(Cancel As Integer)
If Me![NaNumber] <> Me![ChkNumber] & Me![Number] Then
MsgBox "عذرا اخي الكريم ... تأكد من ادخال الرقم الصحيح", vbCritical + vbOKOnly, "خطأ في الإدخال"
Me.Undo
End If
End Sub

الآن قم بالتجربه وادخل اي تاريخ ثم ادخل اي رقم مكون من 7 أرقام في رقم البطاقة ثم انتقل الى حقل الإسم ستجد ان الرقم القومي تم ادخاله مباشرة في مربع النص الرقم القومي اكتب الآن اي اسم

حاول الآن تعديل يوم او شهر الرقم القومي وانظر ماذا يحدث ان لم يكن مطابق وإلا لن يقبل وسيعود للرقم القومي الصحيح

وهذا مثال على هذه العملية

NaNumber.rar

ملاحظة : بإمكانك اخفاء الحقول الغير مرغوب في مشاهدتها من على النموذج مثل حقل تحويل التاريخ

#4

بسم الله الرحمن الرحيم

بارك الله فيك اختنا زهرة

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

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