ابو جودي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 (معدل) السلام عليكم ورحمة الله تعالى وبركاته اساتذتى الكرام فى المرفق الاتى استخدم هذا الكود Me.txtxname.ControlSource = "=IIf([xname] Is Null, Null, " & "Replace([xname], """ & FindAsType & """, """ & strTagStart & FindAsType & strTagEnd & """))" حيث أن txtxname هو مربع نص غير منضم ومصدر بيانات هذا المربع هو الحقل xname اريد عمل هذا الكود فى روتين عام حتى يتم استخدامه لاى عنصر اخر مع تبديل المتغير الذى يدل عليه انا حاولت ان اكتب الروتين بهذا الشكل Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = "=IIf(strFieldName Is Null, Null, " & "Replace(strFieldName, """ & FindAsType & """, """ & strTagStart & FindAsType & strTagEnd & """))" End Function لاستدعاءه بتلك الطريقة Me.txtxname.ControlSource = StrHighLight(xname, FindAsType) سطر الكود يعمل عند استخدام مربع النص الحاص بالبحث ذو اللون الاصفر ولكن لم تفلح هل من مساعدة فى كتابة الروتين الذى يقول بنلك العملية ام انه لا يمكن تحقيق ذلك ؟! Filter With More Condition.mdb تم تعديل ديسمبر 26, 2020 بواسطه ابا جودى 1
أبو إبراهيم الغامدي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 أهلا بك.. الوضع الطبيعي للشفرة بهذا الشكل.. Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd )) End Function لكن لديك متغيرات ليست مدرجة ضمن الوظيفة! وليست ضمن محددات الوظيفة! هل هي متغيرات عامة؟ من أين تأخذ القيم؟
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 9 دقائق مضت, أبو إبراهيم الغامدي said: أهلا بك.. الوضع الطبيعي للشفرة بهذا الشكل.. Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd )) End Function لكن لديك متغيرات ليست مدرجة ضمن الوظيفة! وليست ضمن محددات الوظيفة! هل هي متغيرات عامة؟ من أين تأخذ القيم؟ ما هى المتغيرات التى تقصدها استاذى
أبو إبراهيم الغامدي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 1 دقيقه مضت, ابا جودى said: ما هى المتغيرات التى تقصدها استاذى المتغيرات التالية strTagStart ، strTagEnd
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 (معدل) تم تعريفها مسبقا فى رأس صفحة الاكواد Dim FindAsType As Variant Const strDefTagStart = "<strong><font color=black>" Const strTagStart = "<strong><font color=red>" Const strTagEnd = "</font></strong>" تم تعديل ديسمبر 26, 2020 بواسطه ابا جودى
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 بص مبدئيا للتضح الفكرة المفروض عند فتح النموذج اثناء الكتابة فى المربع الاصفر يتم الفرز حسب ما تم كتابته وتميزه باللون الاحمر بالكود الاتى الكود المسؤل عن ذلك Me.txtxname.ControlSource = "=IIf([xname] Is Null, Null, " & "Replace([xname], """ & FindAsType & """, """ & strTagStart & FindAsType & strTagEnd & """))"
أبو إبراهيم الغامدي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 أهلا بك.. أحسنت.. ضع الشفرة التالية في وحدة نمطية عامة Const strDefTagStart = "<strong><font color=black>" Const strTagStart = "<strong><font color=red>" Const strTagEnd = "</font></strong>" Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd )) End Function
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 2 دقائق مضت, أبو إبراهيم الغامدي said: أهلا بك.. أحسنت.. ضع الشفرة التالية في وحدة نمطية عامة Const strDefTagStart = "<strong><font color=black>" Const strTagStart = "<strong><font color=red>" Const strTagEnd = "</font></strong>" Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd )) End Function هناك حطأ وح Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = "=IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd ))" End Function اولت التعديل كالاتى دون فائدة وهذا ناتج التجربة Me.txtxname.ControlSource = StrHighLight(xname, FindAsType) Debug.Print StrHighLight(xname, FindAsType) ظهرت الطباعة من خلال امر Debug.Print =IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd )) المفروض تكون =IIf([xname] Is Null, Null, Replace([xname], "م", "<strong><font color=red>م</font></strong>"))
أبو إبراهيم الغامدي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 أهلا بك.. أعتذر عن هذا الخطأ بسبب العجلة Const strDefTagStart = "<strong><font color=black>" Const strTagStart = "<strong><font color=red>" Const strTagEnd = "</font></strong>" Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = IIf(Len(strFieldName), Replace(strFieldName, FindAsType , strTagStart & FindAsType & strTagEnd ),strFieldName) End Function
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 (معدل) ---------- عندما كتبت الروتين بهذا الشكل Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String StrHighLight = " IIf(strFieldName Is Null, Null, " & "Replace(strFieldName, """ & FindAsType & """, """ & strTagStart & FindAsType & strTagEnd & """))" End Function وقمت باستدعاءه وتجربة طباعة النتيجة من خلال خلال امر Debug.Print Me.txtxname.ControlSource = StrHighLight(xname, FindAsType) Debug.Print StrHighLight(xname, FindAsType) كانت النتيجة IIf(strFieldName Is Null, Null, Replace(strFieldName, "م", "<strong><font color=red>م</font></strong>")) والنتيجة التى نريد الوصول اليها يجب ان تكون =IIf([xname] Is Null, Null, Replace([xname], "م", "<strong><font color=red>م</font></strong>")) المشكلة هنا انه لم يقم باستبدال المتغير الذى يدل على اسم الحقل strFieldName بــــ [xname] بل وضع المتغير باسمه كما هو بدلا من الحقل المفروض تمرير اسه للمتغير اعتذر ان لم استطع توضيح الامر تم تعديل ديسمبر 26, 2020 بواسطه ابا جودى
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 فكرت اكتب الروتين بهذا الشكل Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String Dim x As String x = "[" & strFieldName & "]" StrHighLight = " IIf(x Is Null, Null, " & "Replace(x, """ & FindAsType & """, """ & strTagStart & FindAsType & strTagEnd & """))" End Function وتجربة طباعة النتيجة من خلال خلال امر Debug.Print IIf(x Is Null, Null, Replace(x, "م", "<strong><font color=red>م</font></strong>")) 1
أبو إبراهيم الغامدي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 22 دقائق مضت, ابا جودى said: المشكلة هنا انه لم يقم باستبدال المتغير الذى يدل على اسم الحقل strFieldName بــــ [xname] بل وضع المتغير باسمه كما هو بدلا من الحقل المفروض تمرير اسه للمتغير لماذا تضع علامات التنصيص😬 على العموم هذه الطريقة مطروقة من قبل.. ولي مشاركة بهذا الخصوص أهلا أبا جود.. سوف أعود إلى المرفق وأقوم بالطبيق عليه ورفعه.. انتظرني بعض الوقت.. 1
أفضل إجابة jjafferr قام بنشر ديسمبر 26, 2020 أفضل إجابة قام بنشر ديسمبر 26, 2020 وهذه تجربتي Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String Dim myStr As String myStr = "=IIf([xname] Is Null, '', " & "Replace([" & strFieldName & "], '" & FindAsType & "', '" & strTagStart & FindAsType & strTagEnd & "'))" 'Debug.Print myStr StrHighLight = myStr End Function ونناديها Me.txtxname.ControlSource = StrHighLight("xname", FindAsType) جعفر وتعديل نهائي Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String Dim myStr As String myStr = "=IIf([" & strFieldName & "] Is Null, '', " & "Replace([" & strFieldName & "], '" & FindAsType & "', '" & strTagStart & FindAsType & strTagEnd & "'))" 'Debug.Print myStr StrHighLight = myStr End Function جعفر 1 1 1
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 يا الهى يعنى المشكلة كانت [" & strFieldName & "] بدلا من strFieldName 😂 الان تمت التجربة وكله تمام Public Function StrHighLight(ByVal strFieldName As String, ByVal FindAsType) As String Const strTagStart = "<strong><font color=red>" Const strTagEnd = "</font></strong>" StrHighLight = "=IIf([" & strFieldName & "] Is Null, '', " & "Replace([" & strFieldName & "], '" & FindAsType & "', '" & strTagStart & FindAsType & strTagEnd & "'))" End Function وننادى عليه Me.txtxname.ControlSource = StrHighLight("xname", FindAsType)
jjafferr قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 في الواقع المشكلة كانت اني ابحث عن متغير (نفس الشيء كان مع اخوي ابوابراهيم) ، بينما المطلوب كان كتابة الاسم ، وهذا هو الفرق بين : 20 دقائق مضت, ابا جودى said: يا الهى يعنى المشكلة كانت [" & strFieldName & "] بدلا من strFieldName 😂 واللي ساعدني على الحل هو طباعة المتغير ، ورؤيته كما يراه الكمبيوتر ، والتعديل عليه حسب الحاجة ، بهذه الطريقة: myStr = "=IIf([" & strFieldName & "] Is Null, '', " & "Replace([" & strFieldName & "], '" & FindAsType & "', '" & strTagStart & FindAsType & strTagEnd & "'))" 'Debug.Print myStr جعفر 1
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 رغم أن الكلمات تحتار أين تقف في مسرح الأحرف لتنظم من نفسها أجمل العبارات ..لأهديها لكم فمشاعرى هي كلماتى المسطورة وكلماتى هي دليل قلبى وقلبى نبضاته تقول لكم مليون الف شكر ( أساتذتى العظماء ومعلمينى الأجلاء ( الأستاذ @أبو إبراهيم الغامدي و الأستاذ @jjafferr ) أنتم وكل أساتذتى الكرام ولو أنى أجد عبارت الشكر تخجل منكم فهى أقل من أن توفيكم حقكم وقدركم رأيـــت الحـق حـق المـعـلـم وأوجبة حفظاً على كل مسلـم له الحق أن يهدي إليه كرامة لتعليم حرف واحــد ألف درهم شموع كثيرة تحترق ...لتنير دروب الآخرين عطاء وآمالا ... وتضحيات شتى تنثر ..من أجل الوصول للأسمى ...ومعكم حققنا ولمسنا كل معاني الجمال سعادة الحياة أن تكون بجانبك وتساندك روح طيبة وكريمة تمنحك وتهديك الفرح والسرور وتدخل على نفوس من حولها الفرح و السعادة ولا أزكيكم على الله وكل اساتذتنا المبجلين كل كلمات ومعان الشكر والعرفان بالجميل لا تكفيكم وتوفيكم قدر حقكم بارك الله لكم فى عمركم وفى علمكم و عملكم واهلكم وأسال الله تعالى لكم سعادة الدارين وان يزيدكم من فضله كما تدخلون السرور على قلوب طلبة العلم دائما تكثرون من العطاء وبكل سخاء دون كلل ولا ملل احسن الله اليكم كما تحسنون الى طلاب العلم دائما أسعدكم الله فى الدارين ورزقكم البركة فى العمر والعلم والعمل والاهل والولد وغفر الله لكم ولوالديكم ومن تحبون وكل المسلمين ان شاء الله شكر الله لكم وجزاكم كل الخير ان شاء الله 1 1
jjafferr قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 اخوي @أبو إبراهيم الغامدي صرنا فوق النخل من كثر ما دلعنا اباجودي 🙂 اخوي اباجودي ، شكرا لجميل كلماتك 🙂 جعفر
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 12 دقائق مضت, jjafferr said: اخوي @أبو إبراهيم الغامدي صرنا فوق النخل من كثر ما دلعنا اباجودي 🙂 اخوي اباجودي ، شكرا لجميل كلماتك 🙂 جعفر العفو منكم استاذى والله مهما قدمت سأظل فى حقكم مقصرا انتم الحلو الذى الذى يزيل مرارة جهلنا والنور الذى ينير ظلمة جهلنا .. انتم سعادة الحياة بالنسبة لنا ادامكم الله فوق رؤسنا وملئ حياتكم سرورا وفرحا وبهجة ورزفكم من حيث لا تحتسبون
sandanet قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 سبقتموني في الوصول الى الحل لكني وصلت لنفس نتيجة الاستاذ جعفر بالنهاية وهذا شرف كبير لي 😀 821562509_FilterWithMoreCondition.mdb 1 1
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 2 دقائق مضت, sandanet said: سبقتموني في الوصول الى الحل لكني وصلت لنفس نتيجة الاستاذ جعفر بالنهاية وهذا شرف كبير لي 😀 821562509_FilterWithMoreCondition.mdb 2.25 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 0 downloads ازيك يا استاذ اوس ...... والله لك وحشة عود احمد يا هلا والله ومليون هلا بس لا تقول سبقوك وانت وصلت انت نقلت من الاستاذ جعفر اعترف مع انلا قلت ما حد يغش من حل اخوة كل واحد يحل بنفسه 🤬 طبعا امزح معكم استاذى الجليل ومعلمى القدير كل الشكر والتقدير والعرفان لحضرتك و لكل من قدم المساعدة او حاول او حتى كانت فى نيته تقديم المساعدة بارك الله لكم وبكم احبكم فى الله
sandanet قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 3 دقائق مضت, ابا جودى said: والله لك وحشة عود احمد يا هلا والله ومليون هلا بس لا تقول سبقوك وانت وصلت انت نقلت من الاستاذ جعفر اعترف مع انلا قلت ما حد يغش من حل اخوة كل واحد يحل بنفسه 🤬 طبعا امزح معكم استاذى الجليل ومعلمى القدير اهلا وسهلا أخي العزيز ابا جودى انا كنت متابع بصمت معكم في المنتدى لإنشغالي ببرمجة برامج تخص جهة عملي لكني وجدت ان برنامجك جميل ويستحق التمعن فيه بالنسبة للحل الذي توصلت إليه فهو للأسف لم يكن نقلاً عن اساتذتي الكبار والذين افتخر بحلولهم السحرية دائماً ويشرفني ان اقتبس منهم لكني بالحقيقة من خلال التجربة والبحث وماقادني للطريقة هو البحث في المواقع الاجنبية كما في الصورة كما انني قمت بتبسيط الدالة أكثر ^_^ انظر الى الكود في ملفي المرفق في التعليق السابق 1
jjafferr قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 طيب ، علشان جوابي يكون مميز ، ممكن برنامجك يشتغل بهذه الطريقة 🙂 لأنك اعلنت في راس الكود عن Dim FindAsType As String فكفاية استعمال Public Function StrHighLight(ByVal strFieldName As String) As String وبالتالي مناداتها تكون Me.txtxname.ControlSource = StrHighLight("xname") جعفر 2
ابو جودي قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 7 دقائق مضت, jjafferr said: طيب ، علشان جوابي يكون مميز ، ممكن برنامجك يشتغل بهذه الطريقة 🙂 لأنك اعلنت في راس الكود عن Dim FindAsType As String فكفاية استعمال Public Function StrHighLight(ByVal strFieldName As String) As String وبالتالي مناداتها تكون Me.txtxname.ControlSource = StrHighLight("xname") جعفر شوف يا استاذ @sandanet اهون اجابة مميزة اهون ومن غير مواقع اجنبى
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.