اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

(مميز ) دالة استخراج تاريخ الميلاد او النوع او المحافظة من الرقم القومي


الردود الموصى بها

السلام عليكم

دالة استخراج تاريخ الميلاد او النوع او المحافظة من الرقم القومي

ثلاثة معطيات بدالة واحدة

Option Explicit


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

'           ********************

'            دالـــــــــــــــة

'           Kh_Date_Sex_Province

'  ( استخراج تاريخ الميلاد او النوع (ذكر - انثى

'       او المحافظة من الرقم القومي

'==============================================

'                  MyTest

'    اذا كانت = 1  تقوم باستخراج تاريخ الميلاد

'          اذا كانت = 2  تقوم باستخراج النوع

'         اذا كانت = 3  تقوم باستخراج المحافظة

'----------------------------------------------

'         MyProvinces  في متغير الجدول

'            العمل لم  يستكمل بعد

'      يمكنك إضافة المحافظات الاخرى الغير موجودة

'          او تعديل الموجود في حالات الخطأ

'   بنفس الطريقة الرقم اولا ثم "/" ثم اسم المحافظة

'                             :  مثال على ذلك

'               "01/القاهرة"

'==============================================

'-----------------------------------------------------------------


Function Kh_Date_Sex_Province(MyNumber As Variant, MyTest As Byte)

Dim MyProvinces As Variant

Dim r As Integer

Dim yy As String

Dim ty As String * 1

Dim d As String * 2, m As String * 2, y As String * 2 _

, x As String * 2, xx As String * 2

'==============================================

'       يمكنك إضافة المحافظات الاخرى الغير موجودة

'          او تعديل الموجود في حالات الخطأ

MyProvinces = Array("01/القاهرة", "02/الإسكندرية", "12/الدقهلية", "13/الشرقية" _

, "14/القليوبية", "15/كفر الشيخ", "16/الغربية", "17/المنوفية", "18/البحيرة" _

, "19/الإسماعيلية", "21/الجيزة", "22/بني سويف", "24/المنيا", "25/أسيوط" _

, "26/سوهاج", "27/قنا", "28/أسوان", "29/الأقصر", "33/مطروح")

'==============================================

Kh_Date_Sex_Province = ""

On Error GoTo 1

If Len(Trim(MyNumber)) = 0 Then

    GoTo 1

End If


If Not IsNumeric(MyNumber) Or Len(MyNumber) <> 14 Then

    Kh_Date_Sex_Province = "Error_MyNumber"

    GoTo 1

End If


If MyTest = 1 Then

    d = Mid(MyNumber, 6, 2)

    m = Mid(MyNumber, 4, 2)

    y = Mid(MyNumber, 2, 2)

    ty = Left(MyNumber, 1)


    Select Case ty

        Case "2": yy = y

        Case "3": yy = "20" & y

        Case Else: yy = ""

    End Select

    If yy <> "" Then Kh_Date_Sex_Province = DateSerial(yy, m, d)


ElseIf MyTest = 2 Then

    If Left(Right(MyNumber, 2), 1) Mod 2 = 1 Then _

    yy = "ذكر" Else yy = "انثى"

    Kh_Date_Sex_Province = yy


ElseIf MyTest = 3 Then

    x = Mid(MyNumber, 8, 2)

    For r = LBound(MyProvinces) To UBound(MyProvinces)

        xx = MyProvinces(r)

        If x = xx Then

            Kh_Date_Sex_Province = Right(MyProvinces(r), Len(MyProvinces(r)) - 3)

            Exit For

        End If

    Next

End If

1:

End Function

بالنسبة لمعطيات المحافظات لم تستكمل بعد

ويمكنك اضافة المحافظات المتبقية حسب ما شرحت بالكود

خبور خير

دالة استخلاص تاريخ الميلاد و النوع و المحافظة من الرقم القومي.rar

  • Like 12
  • Thanks 1
رابط هذا التعليق
شارك

كل عام والجميع بخير بمناسبة شهر رمضان الكريم

الأستاذ الفاضل ـ خبور خير :

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

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

مشكور على المجهود الرائع ، بس انا حاولت ان اطبق المعادلة مش نافعة خالص ممكن التوضيح اكثر فى كيفية استخدام المعادلة

شكرا لمرورك اخي وبالنسبه لمحاولاتك اللي مش نافعه في تطبيق العمل الفكره اسهل مما تتصور وان شاء الله ستكون محاولاتك هذه المره نافعه اخرج بطاقتك الرقم القومي وانقل منها ال 14 رقم الموجودين بها في عمود الرقم القومي ونظر النتيجه واخبرنا

  • Like 1
رابط هذا التعليق
شارك

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

تم تعديل بواسطه fzsss
رابط هذا التعليق
شارك

جزاك الله خيرا

أستاذنا و معلمنا

===

لدينا أشياء كثيرة لنذاكرها

لا نستطيع اللحاق بغزارة إنتاجك

===========

نسأل الله أن يجزيك خيرا عن المسلمين

====

هل الرقم الأول من اليسار يدل على النوع ؟

يعنى الزوجى ذكر

والفردى أنثى؟

تم تعديل بواسطه kemas
رابط هذا التعليق
شارك

السلام عليكم

هل الرقم الأول من اليسار يدل على النوع ؟

يعنى الزوجى ذكر

والفردى أنثى؟

الرقم الثاني من اليمين إذا كان فردياً فالمولود ذكر و إذا كان زوجياً فالمولود أنثى

البيانات دي موجودة في موقع المصلحة نفسه هنا

http://www.cso.gov.e...dex.aspx?lid=15

الافتباس من الرابط التالي المشاركة 8

http://www.officena.net/ib/index.php?showtopic=32960

رابط هذا التعليق
شارك

بارك الله فيك

كل عام والجميع بخير

الأستاذ الفاضل ـ خبور خير :

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

رابط هذا التعليق
شارك

  • 10 months later...
  • 2 months later...
  • 3 years later...
  • 7 months later...
  • 3 months later...

الأخ الفاضل أحمد عزيز

أهلاً بك في المنتدى ونورت بين إخوانك

يرجى تغيير اسم الظهور للغة العربية ..

تقبل تحياتي

  • Like 1
رابط هذا التعليق
شارك

أ. عبدالله ،،

 

انا طبقت الداله دي في ملف عندي و يعمل بكفاءة بس لدي طلب بسيط ،، أحيانا في الملف الخاص بي بتكون الخليه اللي موجود بها الرقم القومي فاضيه و دا  بيظهر رساله خطا error my number

 

انا عاوز الرساله دي متظهرش  و يبقي الخليه مفيهاش اي  رساله خطأ تظهر في الطباعة

ولكم جزيل الشكر

تم تعديل بواسطه أحمد عزيز
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information