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

كيف يمكن كتابة dlookup بشرطين نصيين


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

وعليكم السلام ورحمة الله ...........

اخي عبدالله 

انظر الى هذه الاداة ....................

في 20‏/4‏/2022 at 17:38, Moosak said:

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

السلام عليكم ورحمة الله وبركاته


يسرني اليوم أن أقدم لكم هذه الهدية الرمضانية المتميزة والرائعة 😊

( الكاتب الذكي الآلي لدوال المجال في أكسس ) 
Dloockup, DCount, DMax, DMin, Dfirst, DLast , DSum, DAvg


image.png.a06f1a4f21d1faaa6bbfdaa8ef4355e6.png

هذه الأسطورة هي عبارة عن أداة صممتها في أكسس ( بفضل الله وحمده ) تقوم بكتابة دوال المجال نيابة عنك بشكل آلي .. وتعطيك النتيجة بشكل مباشر  😉👌🏼

لن يخطيء أحد بعد اليوم في كتابة جملة هذه الدوال إن شاء الله  😁

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


ومن مزاياها : 

1 - تسهل عليك كتابة أسماء الجداول والحقول ( فقط تختارها من القائمة المنسدلة ) .

2- يحل مشكلة تداخل النصوص عند استخدامها مع الجداول والحقول المكتوبة باللغة العربية .

3- تفحص لك النتيجة مباشرة للتأكد من أنك ستحصل على البيانات التي تريدها .

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

5 - يمكنك عمل دالة بأربعة 4 معايير بكل سهولة ويسر .

6 - يمكنك عمل تعديلاتك الخاصة على الدالة مباشرة وفحص النتيجة مباشرة بعد التعديل على النتيجة النهائية .

7 - إمكانية الحصول على الصيغة الخاصة بمحرر الأكواد VBA أو الصيغة المستخدمة في الاستعلامات ومنشيء التعبير .

8- إمكانية استخدام الأداة بشكل مستقل من غير الحاجة لنقلها إلى برنامجك .

9- وغيرها الكثير مما سيفتح الله عليكم اكتشافه بأنفسكم إن شاء الله 😅

طريقة الاستخدام :

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

ثم قم بفتح النموذج عندك وسوف يقوم هو آليا بالتعرف على الجداول والاستعلامات الخاصة ببرنامجك بدون الحاجة إلى جهد يذكر 🙂 

( مع إمكانية استخدام الأداة بشكل مستقل من غير الحاجة لنقلها لبرنامجك ولكنك ستفقد الكثير من المميزات 😉 )

image.jpeg.798d81ecbba3d654894fb6b2aa393263.jpeg

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

ولكن لا زلت لا أستغني عن آراءكم وملاحظاتكم من خلال استخدامكم لها  😉

الشرح بالتفصيل : 🙂 

وهنا قمت بشرح الأداة بشكل مفصل نوعا ما في مقطع فيديو مدته نصف ساعة تقريبا :

وأخيرا التحميل 😊

تحميل الملف الأصلي :

‏‏Domain Functions Builder V1.0.accdb 824 kB · 280 downloads

تحميل الملف بلمسات المهندس العزيز @د.كاف يار :

د.كاف يار __Domain Functions Builder V1.0.accdb 712 kB · 279 downloads

 

وأهم من الأداة نفسها 😉

لا تنسوني من صالح دعائكم لي ولوالدي ..

ولا تحرموني من آرائكم ومقترحاتكم ونصحكم وإرشادكم 🙂 

 

أخوكم ومحبكم 
موسى الكلباني 😊

 

 

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

وعليكم السلام ورحمة الله

أهلا أ. @عبد الله قدور

بالنسبة لي مع دوال التجميع أفضل دمج أعمدة البحث مع استعمال المعامل ()Like بالطريقة التالية

Dim Result
Result=DlookUP("[Your Field]","[Your Table],"[Field One]&[Field Two] Like '*" & [Text One]&[Text Two] & "*'")
Or
Result=DlookUP("[Your Field]","[Your Table],"[Field One]&[Field Two] Like '*" & [Your Text] & "*'")


:: تستطيع التعويض عن جزء البيانات بعلامة النجمة أو علامة الاستفهام

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

مشاركة مع الاساتذه

ممكن تقسيم الشرطين كل شرط في سطر

Dim strWhere As String
strWhere = "[Field1]='" & [tx1] & "'"
strWhere = strWhere & " and [Field2]='" & [tx2] & "'"
Me.tx2 = DLookup("[Your_Field]", "tbl", strWhere)

واعتقد ان هذه الطريقة اكثر سهولة

تحياتي

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

41 دقائق مضت, أبو إبراهيم الغامدي said:

:: تستطيع التعويض عن جزء البيانات بعلامة النجمة أو علامة الاستفهام

اعتقد استاذ ابو ابراهيم ان استخدام النجمة مع دالة DLookup امر قد يؤدي الى اعادة نتيجة عير صحيحة

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

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

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

في 22‏/11‏/2022 at 23:38, مبرمج متقاعد said:

اعتقد استاذ ابو ابراهيم ان استخدام النجمة مع دالة DLookup امر قد يؤدي الى اعادة نتيجة عير صحيحة

نعم هذا صحيح!

لكن هناك إشكالات يرتكبها أحيانا مدخل البيانات النصية تتطلب إدخال النجمة عند البحث لتجاوز هذه الإشكالات! إليك بعض منها..

الأسماء المركبة: سعد الدين، .. ، وأمثالها كالأسماء المعبدة؛ والإشكال فيها أن مدخل البيانات قد يترك فراغا بين مقطع الاسم وقد لا يفعل.. وهنا يكون دور النجمة هو رفع هذا الإشكال!

الأسماء المنسوبة: فلان بن فلان، فلانة بنت فلان..، - هذا مشهور في السعودية -، ولرفع الإشكال نستخدم النجمة!

في 22‏/11‏/2022 at 23:38, مبرمج متقاعد said:

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

المتوقع أن يقوم بإدخال قيم الحقلين معاً 

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

1 ساعه مضت, jjafferr said:

الآن فقط انتبهت انك: تبحث في حقلين عن طريق حقلين ،

الله عليك @أبو إبراهيم الغامدي استاذ الاساتذة

وهذا تطبيقي لطريقتك

Dim strWhere As String
strWhere = "[Field1]&[Field2]like '*" & [tx1] & [tx3] & "*'"
Me.tx2 = DLookup("[Your_Field]", "tblr", strWhere)

 

1 ساعه مضت, jjafferr said:

شيء جميل 

روعة وترجع نتيجة صحيح عند وضع المعيار للحقلين اما عند ترك احد المعيارين فارغ فتعود باول تكرار

10 ساعات مضت, أبو إبراهيم الغامدي said:

المتوقع أن يقوم بإدخال قيم الحقلين معاً 

اتفق معك

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

ايضا ممكن استخدامها لفلترة السجلات

باستخدام اي عدد من الحقول وبالتالي بكود مختصر ومربع نص واحد ممكن الفلترة باسم الموظف اور رقمه او مسمى الوظيفة

نعم ممكن عملها بطرق اخرى مثلا في الاستعلام او بالكود ولكن هذه الطريقة تختصر علينا صف المعايير

رووووعة

Dim strWhere As String
strWhere = "[Field1]&[Field1]&[Field3] like '*" & [Text1] & "*'"
Me.balancesub.Form.Filter = strWhere
Me.balancesub.Form.FilterOn = True

هنا الفلترة من خلال ثلاث حقول بواسطة مربع نص واحد ☝️

واعتذر من الاستاذ قدور بالخروج عن الموضوع

تحياتي

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information