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

تشغيل الماكروهات من ال combo Box

مغلق
بدأه زائر في 22 أبريل 2002 · 6 رد · 719 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

اريد الاجابة عاجلا جدا ولكم صادق الدعاء

وشكرا

#2

توجد عدة حلول

أحدها وضع فورم فرعي و ربطه بال combobox عن طريق

Link chield Field

الحل الافضل فى رأيي ان لم يكن هناك فورم فرعي ، أو حتي ان كان

هو تكوين جملة SQL ووضعها فى ال recourdesource الخاص بالفورم

عن طريق الكود

فى حدث بعد التحديث لل combobox ضع جملة SQL مكونة من

Select

From

where

و هي عادة لا تكتب و لكن يمكن عمل استعلام مؤقت ثم تظهره فى وضع ال SQL و تنقل منه الجمل

Forms![InListMain]![InList].Form.RecordSource = 
"SELECT [In].*, Firms.Entity, Firms.AEntity, Persons.Person, Firms.compCat, 
Persons.Cat, Files.FileN, DocType.Type, Dic.PROJECTS, Dic.APROJECTS 
FROM 
Persons INNER JOIN (Firms INNER JOIN (Files INNER JOIN (DocType INNER JOIN (Dic INNER JOIN 
[In] ON Dic.PROJ = [In].Proj) ON DocType.TypeID = [In].TypeID) ON Files.Files = [In].File) 
ON Firms.FID = [In].FID) ON Persons.perID = [In].PerID 
 WHERE 
((([IN].[Proj])=[Forms]![InListMain]![MYcombo]))
ORDER BY 
[In].Dated, [In].Proj, [In].firm1, [In].firm2;"
#3

الى الاخ العزيز هناك طريقة من دون اكواد اوجمل اس كيو ال بل هناك خيارت تحددها في المب بوكس وتربطها مع اجراءات الماكروا دون كتابة اكواد ولكني لااعرف الطريقة عموما لك جزيل الشكر واتمنى ممن يعرف الاجابة سرعة الكتابة:( :(

#5

شكرا جزيلا لك وجزاك الله الف خير على هذا المثال

ولكن كيف يتم اعداد ذلك اي كيف ربط القائمة في مربع تحرير وسرد مع الماكروات

ولك الشكر مرة اخرى:D

#6

فى ال Row Source الخاص بال combo box

ٌقام الأخ حارث بوضع اللآتي

"صوت";"ماكرو1";"إغلاق";"ماكرو2";"تكبير";"ماكرو3"

أي أنه باختيار عبارة صوت يتم تنفيذ الماكرو المسمي ماكرو واحد

و لكن كلمة ماكرو1 و 2 و 3 هي فى العامود الثاني

حيث أنهفى خصائص ال cOMBOBOX تم اختيار ان عدد الاعمدة 2 و أن عرض الاعمدة 2.54 ثم صفر لذا لم تظهر الخانة الخاصة بماكرو 1

ثم بعد ذلك فى حدث بعد التحديث لل cOMBOBOX , وضع الكود التالي

Private Sub Mac_AfterUpdate()
    Dim stDocName As String
    stDocName = Me.Mac.Column(1)
    DoCmd.RunMacro stDocName
End Sub

و معناه شغل الماكرو الموجود اسمه فى العامود الثاني ( الذي عرضه صفر ) من البند الذي تم اختياره

#7

الأخ aa : آسف على عدم الرد ، حيث لم أنتبه لطلبك التوضيح .

الأخ محمد طاهر :

شرح موفق تشكر عليه ، وجزاك الله كل خير على جهدك و عطائك المتواصل إن شاء الله لهذا المنتدى.

هذا الموضوع مغلق.

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