نيموز قام بنشر سبتمبر 17, 2023 قام بنشر سبتمبر 17, 2023 السلام عليكم ورحمة الله عندي قائمة اسماء في اكسل تقريبا 6 الاف اسم رباعية يعني اسم واسم الاب والجد والعائلة ولكن فيه اسماء نقص يعني بدون اسم العائلة او بدون اسم الجد تكون اسم ثلاثي مش رباعي سؤالي هو : كيف افرز الاسماء الناقصة سواء في كود اكسس او بطريقة اخرى وشكرا
ابو البشر قام بنشر سبتمبر 17, 2023 قام بنشر سبتمبر 17, 2023 32 دقائق مضت, نيموز said: السلام عليكم ورحمة الله عندي قائمة اسماء في اكسل تقريبا 6 الاف اسم رباعية يعني اسم واسم الاب والجد والعائلة ولكن فيه اسماء نقص يعني بدون اسم العائلة او بدون اسم الجد تكون اسم ثلاثي مش رباعي سؤالي هو : كيف افرز الاسماء الناقصة سواء في كود اكسس او بطريقة اخرى وشكرا وعليكم السلام هل الاسم في حقل واحد ام الاسم نجزأ بمعنى اسم الابن في حقل والاب في حقل وهكذا.... 1
ابو البشر قام بنشر سبتمبر 17, 2023 قام بنشر سبتمبر 17, 2023 22 دقائق مضت, نيموز said: الاسماء في حقل واحد وليست مجزئة اذا كانت الاسماء مكتبوبة باللغة العربية هذه مشكلة ... لاننا حتى لو حاولنا تجزأة هذه الاسماء سوف نواجه الاسماء المركبة واسماء عبد وغيرها .. الا اذا كان للخبراء رأي اخر ننتظر الحلول 1
Moosak قام بنشر سبتمبر 17, 2023 قام بنشر سبتمبر 17, 2023 26 دقائق مضت, نيموز said: لا الاسماء في حقل واحد وليست مجزئة إذا كنت ستعتمد على عد المسافات بين الأسماء .. فيمكنك استخدام الدالة التالية لعد المسافات الفاصلة بين الأسماء بغض النظر عن الأسماء ذوات الضروف الخاصة كالأسماء المركبة وغيرها .. 1- أضف حقل محسوب في الاستعلام وهذه قيمته ( تستبدل Text باسم حقل الأسم ) : Len(Text) - Len(Replace(Text; " "; "")) 2- في المعيار أسفل هذا الحقل تكتب الرقم 3 وذلك ليحضر لك الأسماء الرباعية .. أو تكتب الرقم 2 ليحضر لك الأسماء الثلاثية 1
أفضل إجابة AbuuAhmed قام بنشر سبتمبر 17, 2023 أفضل إجابة قام بنشر سبتمبر 17, 2023 (معدل) بالاستفادة من فكرة الأستاذ موسى، دالة لتعطيك مخرج نعم/لا للاسم الذي يحتوي على عدد الأجزاء المطلوبة، ولا داعي لطرح واحد من عدد الأجزاء: Option Explicit Function NamePartsCounter(ByVal sName As String, ByVal Parts As Byte) As Boolean Parts = Parts - 1 sName = Trim(sName) Do While InStr(1, sName, " ") > 0 sName = Replace(sName, " ", " ") Loop NamePartsCounter = Parts = (Len(sName) - Len(Replace(sName, " ", ""))) 'If NamePartsCounter Then Debug.Print sName End Function 'إجراء لفحص الدالة Sub test() Debug.Print NamePartsCounter("عبدالله أحمد علي", 3) End Sub وأنصح في تخزين الأسماء باستخدام الـ "أندرسكور" بدلا من المسافة ، وعند العرض يتم معالجة الأسماء بتديل الأندرسكور بالمسافة باستخدام دالة Replace تم تعديل سبتمبر 18, 2023 بواسطه AbuuAhmed 1
AbuuAhmed قام بنشر سبتمبر 18, 2023 قام بنشر سبتمبر 18, 2023 7 ساعات مضت, AbuuAhmed said: دالة لتعطيك مخرج نعم/لا للاسم الذي يحتوي على عدد الأجزاء المطلوبة مثال على استخدام الدالة: فحص_عدد_أجزاء_الاسم_01.accdb
نيموز قام بنشر سبتمبر 18, 2023 الكاتب قام بنشر سبتمبر 18, 2023 شكرا استاذي العزيز Moosak ساجرب هذه الطريقة وشكرا للمساعدة استاذ AbuuAhmed ان شالله ساجرب هذا الكود واعتقد تنجح هذه الفكرة وبمساعدة طريقة الاستاذ Moosak شكرا للمساعدة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.