الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هدية: دالة CLookUp

بدأه عبيدالله في 13 مايو 2012 · 7 رد · 1,727 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

يسرني هنا أن أقدم للجميع هدية متواضعة

الهدية عبارة عن دالة اسمها CLookUp

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

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

لن أطيل عليكم، تفضلوا الدالة مع بعض التطبيقات عليها..

CLookUp.rar

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

3
#2

بارك الله بك

عمل رائع وجميل +

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#3

بارك الله فيك وجزاك الله خير اخي عبيدالله

مثال رائع جدا

وفقك الله ورعاك

اتق الله حيث ماكنت

#4

بارك الله فيك اخي

تم تعديل هذه المشاركة بواسطة اكرم عبد الحكيم في 13 مايو 2012 في 14:28

"قال رب اشرح لي صدري *ويسر لي امري*واحلل عقدة من لساني يفقهوا قولي" سورة طه
اللهم صل على سيدنا محمد
وعلى آل سيدنا محمد

http://rasoulallah.net/index.php/ar

#5

اخي الفاضل : عبيد الله

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

بارك الله بك وجزاك الله كل خير على هذه الدالة المطوره

هناك بعض الملاحظات البسيطة والتي يجب تعديلها في كود الدالة CLookUp

1. يوجد سطر زائد ليس له اي لزوم في كود الدالة وهذا السطر هو :

Set rsMVF = Nothing

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

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

2. هناك خاصية للسجلات يجب تغييرها للأفضل في هذا السطر

Set rs = db.OpenRecordset(strSql, dbOpenSnapshot)

حيث يفترض تغييرها الى السطر التالي وهو الأفضل

Set rs = db.OpenRecordset(strSql, dbOpenDynaset)

ما هو السبب للقيام بالتغيير من dbOpenSnapshot الى dbOpenDynaset

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

اما الخاصية Dynaset فهي الشامله والعامة والمستخدمة بكثرة وايضا هي المفضله لأن بهذه الخاصية تستطيع ان تنسى كل شيء يتعلق بالسجلات فتسطيع من خلالها عمل التحديث والحذف والإضافة والتحرير والارتباط بالجداول الخارجية والإستعلامات وتستطيع ان تتحرك بالسجلات للأمام والى الخلف وكل ما يخطر على بالك القيام به فيما يخص السجلات ولهذا نجدها هي المسيطرة دائما خلافا عن محدودية بقية الأنواع مثل dbOpenSnapshot و dbOpenForwardOnly

للفائدة العامة :

Dynasets

A Recordset object of the Dynaset type can be used to manipulate local or linked tables or the results of queries. A Dynaset is actually a set of references to table data. Using a Dynaset, you can extract and update data from multiple tables, even tables from other databases. In fact, the tables whose data is included in a Dynaset can even come from databases that are not of the same type (for example, Microsoft SQL Server, FoxPro, Paradox, and dBASE).

True to its name, a Dynaset is a dynamic set of records. This means that changes made to the Dynaset are reflected in the underlying tables, and changes made to the underlying tables by other users of the system are reflected in the Dynaset. Although a Dynaset is not the fastest type of Recordset object, it is definitely the most flexible.

Snapshots

A Recordset object of the Snapshot type is similar to a Dynaset. The major difference is that the data included in the Snapshot is fixed at the time that it is created. The data within the Snapshot, therefore, cannot be modified and is not updated when other users make changes to the underlying tables. This trait can be an advantage or disadvantage. It is a disadvantage, of course, if it is necessary for the data in the recordset to be updatable. It is an advantage if you are running a report and want to ensure that the data does not change during the time in which the report is being run. You can therefore create a Snapshot and build the report from the Snapshot object.

http://101.lv/learn/access/aba15fi.htm#I29

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 13 مايو 2012 في 16:07

2
#6

اشكركم على الردود<br>وشكر خاص لاستاذتي ام العهود.. فلا غنى عنها في هذا المنتدى<br><br>الملف بعد تعديل الكود بحسب مشاركة استاذتنا زهرة<br>

CLookUp.rar

تم تعديل هذه المشاركة بواسطة عبيدالله في 14 مايو 2012 في 09:33

2
#7

ممكن تشريح اكثر

ايضاحا للداله

#8

الأخ كوماندر

الدالة الغبية والدالة العبقرية

الدالة () DLookup والدالة () ELookup

تم طرح هذا الموضوع من قبل الأخت زهرة على الرابط التالي (خربشات في الأكسس)

http://www.arabteam2...pic=85572&st=20

مع جزيل الاحترام والتقدير للأخ عبيد الله على مجهوده

تم تعديل هذه المشاركة بواسطة zaher-t في 7 أغسطس 2012 في 04:58

مواضيع مشابهة