اذهب الي المحتوي
أوفيسنا

تقسيم الاسم الكامل على عدة حقول فى تطبيق الأكسيس


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

السلام عليكم

هذه دالة لتقسيم الأسماء من ميزاتها :

- غير محدودة بعدد تقسيمات معينة بحيث نستطيع على سبيل المثال طلب الجزء 12 من الإسم .

- إمكانية طلب الجزء الأخير من الإسم بطلب الجزء رقم 0 "صفر" .

- مراعاة الأسماء المركبة حيث لا تفصل الأسماء التي بينها مسافة مثل :

- عبد الله ، عبدرب النبي ، آل صالح ، محي الدين ، ناصر الإسلام ، عبد الحق

قد تكون أكثرهذه الأسماء قليلة الإستعمال ولكنها موجودة وخصوصا بين العمالة الهندية .

Function LaborNameSplit(InName As String, PartNo As Byte) As String

  Dim FullName, Part, Part2, LPart As String

  Dim pos, Pos2  As Byte

  Dim K As Integer

  

  LaborNameSplit = ""

  FullName = RTrim(LTrim(Nz(InName))) & " "

  

  Do While True

    K = K + 1

    pos = InStr(1, FullName, " ")

    Part = Left(FullName, pos)

    If Part = "آل " Or Part = "عبد " Or Part = "عبدرب " Or _

       Part = "Al " Or Part = "Abdul " Then

      pos = InStr(pos + 1, FullName, " ")

    Else

      Pos2 = InStr(pos + 1, FullName, " ")

      If Pos2 > 0 Then

        Part2 = Mid(FullName, pos + 1, Pos2 - pos)

        Select Case Part2

          Case "الله ", "الحق ", "الإسلام ", "الدين "

            pos = Pos2

        End Select

      End If

    End If

    

    If pos = 0 Then

      Select Case PartNo

        Case Is > 0

          If (K - 1) = PartNo Then

            LaborNameSplit = ""

          End If

        Case Else

          LaborNameSplit = LPart

      End Select

      Exit Function

    End If

    

    Select Case K

      Case PartNo

        LaborNameSplit = Left(FullName, pos - 1)

    End Select

    LPart = Left(FullName, pos - 1)

    FullName = Mid(FullName, pos + 1, Len(FullName))

  Loop

End Function

انتبهت الآن أنه قد ينتج خلل لو أنه لم ينقح الإسم من المسافات الزائدة أي بوجود أكثر من مسافة متلاصقة .

تحياتي .

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

  • 3 months later...

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

فإذا كان لدى عدد (1000) اسم فبهذه الطريقة يكون الأمر متعب للغاية .

فهل يمكن عمل تعديل عليه ليقوم بتجزئة الاسماء كلها دفعة واحدة ؟

تحياتي للجميع ..

name_All_AHmoudD_2.rar

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

اكيد ستكون اضافتك مفيدة كما عودتننا أخي أسامة

و للحصول علي الوين رار

http://www.rarlabs.com/download.htm

و هو افضل فى الضغط من الوين زيب

و يتعامل مع كل من zip , rar بكفاءة

و يضغط بدرجة أكبر

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

شكرا لك أستاذ أسامه

في مثالك يمكن الاستفادة من إلغاء المسافات

ملاحظة

بالنسبة لمثالك لا يتعامل مع ( آل ) مثلاً ( آل محمد ) فهذه تعتبر كلمة واحدة ولكن في مثالك يضع (آل) في حقل و (محمد) في حقل ولكن المثال المرفق يتعامل مع ( آل ) باعتبارها كلمة واحدة مع الكلمة التي تليها .

وتقبل تحياتي

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

اخوي فهد

السلام عليكم

طيب ...

بن محفوظ ؟

با شميل ؟

ولد صالح ؟ (زي ما عند الموريتانيين)

أحمد بن صالح بن فهد الفلاني

الأسماء المعبدة اللي فيها مسافة مثل : عبد الرحمن

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

إشكالات ما تنتهي ...

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

واحسن من كذا : ان ادخال الاسم يكون في حقول ما هو في حقل واحد

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

TaqseemMotawar11.zip

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

أستاذي أسامه

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

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

لك شكري وتقديري وكذلك للأستاذ أبو هادي على مداخلته .

تحياتي للجميع ..

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

  • 19 years later...
7 ساعات مضت, علاء طه said:

الاخوة الاعزاء ارجو كيفية عمل دالة فى استعلام تعكس الامر

بمعنى يكون عندي عدة حقول بها اسماء اريد دالة تجمع هذه الاسماء في حقل واحد

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

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

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

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

Important Information