أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 السلام عليكم ورحمة الله وبركاته احبتي كتبت هذا الكود لاجبار المستخدم علي كتابة اسم العميل رباعيا حتي لا يتكاسل في كتابة الاسم ويكتفي باس واحد أو اثنين مما يؤدي الي الوقوع في مشكلة تشابه الأسماء. Public Function TestFourthName(ByVal tx As String) As Integer Dim abd As String abd = ChrW(1593) & ChrW(1576) & ChrW(1583) If InStr(1, tx, abd) > 0 Then TestFourthName = (Len(tx) - Len(Replace(tx, " ", ""))) If TestFourthName = 3 Then TestFourthName = TestFourthName + 1 End If Else TestFourthName = (Len(tx) - Len(Replace(tx, " ", ""))) + 1 End If End Function وعمل الكود بشكل جيد مع الأسماء التي لا تحوي كلمة "عبد" فعند ادخال المسافة بين عبد واسم الجلالة يعتبر الاسم اثنين أرجو التعديل علي الكود لتجاوز هذه الاشكالية أو ابداء فكرة لمعالجة هذا الأمر بأقل خسائر 😁 وجزاكم الله عنا خيرا
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 مبدئيا قبل ما افكر برمجيا اعمل الاسم على اربع مربعات نص غير منضمين وبعد الكتابة يتم تجميعه فى مربع نص الاسم مش لازم نصعبها بالاكواد ولا تنسى لو فكرنا برمجيا فى كلمة عبد الله وباقى العبادله ماذا سنفعل للاسماء المركبة نور الدين , منة الله , هبة الله , جاه الرسول 2
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 25 دقائق مضت, أبو عبدالله الحلوانى said: السلام عليكم ورحمة الله وبركاته احبتي كتبت هذا الكود لاجبار المستخدم علي كتابة اسم العميل رباعيا حتي لا يتكاسل في كتابة الاسم ويكتفي باس واحد أو اثنين مما يؤدي الي الوقوع في مشكلة تشابه الأسماء. ممكن مرفق للتجربة
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 7 دقائق مضت, ابا جودى said: مبدئيا قبل ما افكر برمجيا اعمل الاسم على اربع مربعات نص غير منضمين وبعد الكتابة يتم تجميعه فى مربع نص الاسم مش لازم نصعبها بالاكواد ولا تنسى لو فكرنا برمجيا فى كلمة عبد الله وباقى العبادله ماذا سنفعل للاسماء المركبة نور الدين , منة الله , هبة الله , جاه الرسول جزاك الله خيرا لم يتبادر الي ذهني تلك الأسماء المركبة ما فكرت في غير العبادلة ولكن الاشكالية أن البيانات المدخلة ستكون حساسة بالنسبة للاسم أي انه بمجرد ادخال الاسم من المفترض انه سيتم البحث عنه بالبيانات المخزنة لربط بيانات العميل القديمة بالجديدة من خلال كود آخر . كلامك له وجاهة - ولكن سيطرني لاجزاء تعديلات كثيرة تأخذ وقت ليس بقليل ولكن لو كان الحل في كتابة كود لكان أسهل واسرع. وجزاكم الله خيرا
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 5 دقائق مضت, ابا جودى said: ممكن مرفق للتجربة لاحظات أجهزه لك ان شاء الله
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 1 دقيقه مضت, أبو عبدالله الحلوانى said: لاحظات أجهزه لك ان شاء الله لا لا خلاص
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 طيب هى فكرة لفة شوية طبعا ممكن تحتاج الى اختزال كان يهمنى النتيجة بالمقام الاول Test Full Name.mdb
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 هذه مرفق للتجارب Test Four Name.rar هو احنا بنكتب الرد ليه مع بعض في وقت واحد كدا ( هو دا اللي اسمه تلاقي الأرواح ولا اليه ) 😀🤔 1
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 3 دقائق مضت, أبو عبدالله الحلوانى said: هذه مرفق للتجارب هو احنا بنكتب الرد ليه مع بعض في وقت واحد كدا ( هو دا اللي اسمه تلاقي الأرواح ولا اليه ) 😀🤔 🥰 انهو ارواح ياللى يحضرها الاستاذ @jjafferr بالبخور تبعه انت ياللى تختار الوقت اللى اشارك فيه وتنشل طيب جرب انت المرفق تبعى... منتظر ردك بس لا تكتب وتشارك بنفس الوقت تبعى 1
ابوخليل قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 45 دقائق مضت, أبو عبدالله الحلوانى said: ولكن الاشكالية أن البيانات المدخلة ستكون حساسة بالنسبة للاسم أي انه بمجرد ادخال الاسم من المفترض انه سيتم البحث عنه بالبيانات المخزنة لربط بيانات العميل القديمة بالجديدة من خلال كود آخر . السلام عليكم اول اجابة للاستاذ محمد رائعة اعجبتني جدا ولكنني لما تصفحت مثاله هالني كثرة هذه الأكواد وخاصة الموجود في الوحدة النمطية وحتى نطبق فكرة ابي جود نريد منك ايضاح عملية البحث التي تجري بعد كتابة الاسم الرباعي يكفي عن الايضاح ان تكتب لنا كود البحث هنا . 1 1
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 (معدل) 5 دقائق مضت, ابوخليل said: السلام عليكم اول اجابة لمحمد رائعة اعجبتني جدا ولكنني لما تصفحت مثاله هالني كثرة هذه الأكواد وخاصة الموجود في الوحدة النمطية وحتى نطبق فكرة ابي جود نريد منك ايضاح عملية البحث التي تجري بعد كتابة الاسم الرباعي يكفي عن الايضاح ان تكتب لنا كود البحث هنا . وعليكم السلام ورحمة الله تعالى وبركاته اهلا اهلا اهلا استاذى الجليل ومعلمى القدير و والدى الجبيب الاستاذ @ابوخليل الاكواد فى الوحدة النمطية لتقسم الاسم وتمرره الى الجدول الوسيط لتفادى مشاكل الاسماء المركبة قدر الامكان اعرف ان الكواد كثيرة ولكن اعتقد حسب متطلبات الاستاذ @أبو عبدالله الحلوانى تلك اقرب فكرة تجول ببالى رغم كثرة الاكواد بها اعرف وطبعا لا يفتى ومالك فى المدينة واذا حضر الماء قطعا بطل التيمم احس الاستاذ @أبو عبدالله الحلوانى موجود ويراقب فى صمت خاصة بعد تجربة المرفق بكثرة الاكواد فيه انصدم شكله حتى ما اخبر عن نتيحة التجربة ولا عن رأيه 🤣 تم تعديل ديسمبر 23, 2020 بواسطه ابا جودى
ابوخليل قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 فكرة الحل عندي هي تماما فكرتك الأولى بدون اكواد كود بسيط يكون كوسيط ، كيف ؟ نكتب الاسماء في الحقول الغير منضمة ، ونعمل دالة تصنع الاسم الرباعي ( او بمعنى اصح تجمع الحقول الاربعة مع المسافات) وهي التي نجري عليها البحث فان كانت صحيحة تم نسخها الى حقل الاسم المنضم والا تظهر رسالة تنبيه بالتعديل المطلوب 1
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 1 دقيقه مضت, ابوخليل said: السلام عليكم وعليكم السلام ورحمة الله وبركاته 2 دقائق مضت, ابوخليل said: اول اجابة للاستاذ محمد رائعة اعجبتني جدا ولكنني لما تصفحت مثاله هالني كثرة هذه الأكواد وخاصة الموجود في الوحدة النمطية نفس الشعور ولكن اخي واستاذي محمد قد أوضح هذا بكلامه الأول 33 دقائق مضت, ابا جودى said: فكرة لفة شوية طبعا ممكن تحتاج الى اختزال 4 دقائق مضت, ابوخليل said: وحتى نطبق فكرة ابي جود نريد منك ايضاح عملية البحث التي تجري بعد كتابة الاسم الرباعي يكفي عن الايضاح ان تكتب لنا كود البحث هنا . جزاكم الله خيرا أما عن هذه فأنا أحتاج عند ادخال اسم عميل جديد بمعاملة جديدة أن يبحث هل هذا العميل له بيانات سابقة أم لا؟! ان كانت البيانات السابقة مطابقة للجديدة يطلب من المستخدم: 1-هل يريد اضافة معاملة جديدة لنفس المعاملة السابقة وفي هذه الحالة سيستفيد العميل من بعض الميزات عن ما ان كانت هذه المعالملة للمرة الأولي! 2- أو تعديل المعاملة السابقة! 3- أو التراجع عن الحفظ! ثانيا - وهذه الجزئية تحت الانشاء: ان كانت المعاملة تختلف عن المعاملة السابق سيتم تخزين قيمة أن للعميل معاملة مختلفة أخري! هذه المعلومة ستفيد لاحقا عند احتساب المبلغ المستحق علي العميل مقابل المعاملة الجديدة. أرجو أن يكون اضاحي لا يحتاج الي ايضاح😁 أما عن كود البحث فهذا هو If Nz(DCount("CustName", "ContCustNameLiklyQry"), 0) <> 0 Then Me.List409.Visible = True Me.List409.Move (CustName.Left), Me.CustName.Top, 4032, Me.List409.Height Me.List409.SetFocus Else End if ContCustNameLiklyQry 'هذا الاستعلام يحمل بعض المعاير المستخدمة في عملية ايجاد الاسماء المتشابهة List409 'وهذا الليست يحوي مجموعة الخيارات المعروضة علي المستخدم في حالة ايجاد اسماء متشابهة
jjafferr قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 انا كنت عامل كود بسيط لتفكيك الاسم ، يحسب حساب كلمة "عبد" ، فياريت ترفق لنا مرفق فيه بعض الاسماء علشان نجرب عليها 🙂 وطبعا ، ادخال الاسماء الاربعة مفككة هي الطريقة الصحيحة 🙂 جعفر 2
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 16 دقائق مضت, ابا جودى said: خاصة بعد تجربة المرفق بكثرة الاكواد فيه انصدم شكله حتى ما اخبر عن نتيحة التجربة ولا عن رأيه 🤣 لم أنصدم ولكن كنت أحاول تتبع الأكود فقط لأفهم العمل الذي تم فيها لذي تأخرت بالرد واعتذر أعجبتني فكرة الجدول الذي يحوي الأسماء الموصولة والغير موصولة هذه جزاكم الله خيرا 11 دقائق مضت, ابوخليل said: فكرة الحل عندي هي تماما فكرتك الأولى بدون اكواد كود بسيط يكون كوسيط ، كيف ؟ وبانتظار مثال من أستاذنا ومعلمنا الجليل علي الفكرة المطروحة (بدون أكواد!!!) وجزاكم الله عنا خيرا
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 (معدل) على العموم ما قدرت قوم بعمل اختزال اكثر من ذلك على الرغم من اجماع اساتذتى الكرام على أن ادخال الاسماء الاربعة مفككة هي الطريقة الصحيحة المرفق الاتى هو فقط تعديل لمرفقكم مثل ما ينحكى الفكرة تعتمد على مصطلح الهندسة العكسية جرب ادخال هبة الله نور الدين عبد الرحمن ما راح يقبل لانه مو رباعى واظن هاد الاسماء الثلاثة مركبة Test Four Name.mdb تم تعديل ديسمبر 23, 2020 بواسطه ابا جودى
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 12 دقائق مضت, jjafferr said: فياريت ترفق لنا مرفق فيه بعض الاسماء علشان نجرب عليها تفضل يا أستاذي هنا جدول SomNamesTbl به بيانات وهمية متشابهة مع الحقيقية وجزاكم الله عنا خيرا والله ما أسعد بالحل قدر سعادتي بتواصلي مع اساتذتي وأحبتي بالمنتدي @ابا جودى @ابوخليل @jjafferr أشكركم جميعا وجعله الله بموازين حسناتكم 1
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 1 دقيقه مضت, أبو عبدالله الحلوانى said: تفضل يا أستاذي هنا جدول SomNamesTbl به بيانات وهمية متشابهة مع الحقيقية وجزاكم الله عنا خيرا والله ما أسعد بالحل قدر سعادتي بتواصلي مع اساتذتي وأحبتي بالمنتدي @ابا جودى @ابوخليل @jjafferr أشكركم جميعا وجعله الله بموازين حسناتكم وانا كمان سعيد بس هنا جدول SomNamesTbl هنا وين
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 آسف هنا الأسماء Test Four Name.mdb
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 يالله ع ليلة الكريسماس واللى يطيرون بالمرففات 🤣 1 1
ابو جودي قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 طيب لاحظت الاتى بالاسماء عبدالله عبدالرحمن محمد حسن يجب الانتباه ان كتبت فى المرة المقبلة عبد الله عبد الرحمن محمد حسن هل يكون اسم جديد ام اسم قديم ؟؟؟!!1
jjafferr قام بنشر ديسمبر 23, 2020 قام بنشر ديسمبر 23, 2020 طبعا في اسماء يجب التعامل معها بطريقة خاصة ، وتقدر تدخلها في الوحدة النمطية ، ولكن اليك ما تعمله الوحدة النمطية: Function SP(M, N) On Error GoTo err_SP Dim A As Integer 'testing If M = "äæÑÇáÏíä Úáã ÇáÏíä ÚÈÏ ÇáÍÝíÙ" Then A = 1 End If 'SP = Seperate Mother's name to its names 'M = Mothers name 'N = Which part of the name we are looking for Dim x() As String 'check if ÚÈÏ has a space after it, if not, add the space If InStr(M, "ÚÈÏ") > 0 Then M = Replace(M, "ÚÈÏ", "ÚÈÏ ") End If M = Replace(M, " ", " ") M = Replace(M, " ", " ") M = RTrim(M) M = LTrim(M) 'insert | to distinguish the combined names M = Replace(M, "ÚÈÏ ", "ÚÈÏ|") x = Split(M, " ") '1st name If N = 1 Then SP = x(0) '2nd name ElseIf N = 2 Then SP = x(1) '3rd name ElseIf N = 3 Then SP = x(2) '4th name ElseIf N = 4 Then SP = x(3) End If 'Remove the extra | SP = Trim(Replace(SP, "ÚÈÏ|", "ÚÈÏ ")) Exit Function err_SP: If Err.Number = 94 Then 'mother null SP = "" ElseIf Err.Number = 9 Then SP = "" Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر 1313.Test Four Name.mdb.zip 2
أبو عبدالله الحلوانى قام بنشر ديسمبر 23, 2020 الكاتب قام بنشر ديسمبر 23, 2020 1 دقيقه مضت, ابا جودى said: عبد الله عبد الرحمن محمد حسن هل يكون اسم جديد ام اسم قديم ؟؟؟!!1 قد راعيت هذا عند اختيار الأسماء وراعيت أن يتم اثبات المسافة في بعض الأسماء واهمالها بالبعض الآخر طبعا لابد أن يكون الاسم القديم والا فسيكون اسم العميل الواحد اسما جديدا في كل مرة تتغير بها طريقة كتابة المستخدم للاسم ولكن اعتقد أن هذا سيغير مجال النقاش قليلا ولكن لعل هذا حله بسيط ان شاء الله بتصحيح هذه الاختلافات بالكتابة من خلال كود يتجاوز المسافات ويحول التاء المربوطة الي هاء أو العكس عند ادخال البيانات. ملاحظة جيدة أم عن نتيجة التجربة للمرفق الأول والثاني لكم فنتائج مزهلة وموافقة للمطلوب وجزاكم الله خيرا
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.