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

كيف يمكن إستدعاء عمل زر من زر أخر ؟

بدأه bakkar2000 في 10 نوفمبر 2009 · 10 رد · 1,061 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

post-148704-1257870378_thumb.gif

أخوانى كيف يمكن إستدعاء عمل زر فى نموذج فرعى من زر فى نموذج فرعى أخر أخر ؟

نوضح أكثر        

لدينا نموذج رئيسى يسمى نموذج1 يحتوى على نموذجين فرعيين نموذج بأسم نموذج2  و أخر باسم نموذج3 كل منهما يحتوى على زر أمر

و ظيفة الزر فى النموذج3 إخفاء بعض الـ Text Box أو أى شىء فى النموذج الرئيسى 

المطلوب إستدعاء حدث عند النقر للزر فى نموذج 3 بواسطة الزر فى النموذج 2 

المرفق للتعديل

Call_Command.rar

post-148704-1257871090_thumb.gif

#2

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

بكل بساطه ضع الكود

Forms!form1.text0.Visible = False
Forms!form1.text1.Visible = False
Forms!form1.text2.Visible = False
Forms!form1.text3.Visible = False

في وحده نمطيه عامه ثم اعمل استدعاء فقط .. هذا كل شيء

انظر المثال المرفق

EK_Call_Command.rar

#3

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

بارك الله فيك اخي واستاذي اكسير الحياة وجزاك خير الجزاء

بعد اذنك وددت اضافة حل آخر للفائدة فالفكرة تعتمد على تحويل حدث عند النقر لزر الآمر الى اجراء عام كالتالي

Public Sub Command3_Click()
	Forms!form1.text0.Visible = False
	Forms!form1.text1.Visible = False
	Forms!form1.text2.Visible = False
	Forms!form1.text3.Visible = False
End Sub

ثم يتم استدعاؤه بزر الآمر بالنموذج الفرعي الآخر كالتالي

Call Form_Form3.Command3_Click

ارجو ان يكون بهذه الإضافة الفائدة لأخي bakkar2000

بالتوفيق للجميع

Call_Command.rar

#4

الأاخوة الكرام واساتذتنا الكبار "أكسير" ، "يوسف" .. (طبعاً الترتيب في الاسماء ليس له معنى إلا أنه جاء ترتيباً حسب رقم المشاركة).

ما هذا التنافس الرائع على الخير. كلاكما تقدمون الحل بأكثر من طريقة رائعة. ومن خلال الحلان نصل إلى نتيجة واحدة وهي أننا لا نستطيع إستدعاء إجراء أو طبعاً قيمة متغير من خارج حدود هذا الاجراء وأقصد هو "عمر" المتغير الذي ينتهي داخل النموذج الاول ولا يمكن استدعائه إلا لو غيرنا نوع هذا المتغير ليصبح متغير عام أو في حالتنا هذه "إجراء عام.

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

أرجو أن أكون فهمت صح.

لكما جزيل الشكر وأجزل الله لكما العطاء.

#5

post-148704-1257951580_thumb.gif

السادة الأفاضل الكرام/ اكسيرالحياة .. يوسف احمد

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

بارك الله لكما و الفكرتين

post-148704-1257952078_thumb.gif                              

post-148704-1257951639_thumb.gif
#6

post-148704-1257951580_thumb.gif

السادة الأفاضل الكرام/ اكسيرالحياة .. يوسف احمد

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

بارك الله لكما و الفكرتين

post-148704-1257952078_thumb.gif                              

post-148704-1257951639_thumb.gif
#7

جزاكما الله خير الجزاء... لي فقط تعليق بسيط على ملحوظة الأخ team2000 بارك الله فيه، وهي أن الحالة هنا ليست العمر lifetime، ولكنها المجال scope للإجراء. كل إجراء هو خارج مجال رؤية النموذج الآخر، في حين أن عمر الإجرائين واحد تقريباً لأن النموذجين يعملان معاً...

والله أعلم

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

#8

أحسنت أخي أحمد ومبارك لنا هذا المنتدى بوجود أمثالك والله يبارك فيك وفي علمك. هل لنا أن نستفيد من هذا الموضوع ونعرف الفرق بين "العمر" و"المجال" طبعاً هذا إذا سمح وقتك بذلك وإلا يمكن تأجيلها إلى وقت لاحق أو توجيهي إلى رابط بالمنتدى يمكنني مراجعته.

#9

وفيك بارك الله أخي الكريم، وأنت على الرحب والسعة، أجيبك على قدر المستطاع، وتجد التفصيل إن شاء الله في كتب البرمجة (بأي لغة)...

المجال للمتغير أو الإجراء هو المدى الذي تستطيع أن تستخدمه منه، أي الأماكن التي يكون فيها منظوراً ويمكن رؤيته. مثلاً، متغير داخل إجراء في نموذج يستطيع رؤية متغير على مستوى النموذج، ولكنه لا يستطيع رؤية (وبالتالي لا يستطيع الوصول إلى) متغير آخر في إجراء آخر، ولو كان ضمن نفس النموذج. طبعاً هذا المتغير يرى بالتأكيد كل المتغيرات التي تشاركه نفس المجال، أي أنها معرفة معه في نفس الإجراء.

كذلك بالنسبة لإجراء. مجاله هو في حدود نموذجه بشكل افتراضي، إلا إذا استخدمنا معرفات qualifiers من أمثال Public. لاحظ أنك لا تستطيع استخدام هذه المعرفات مع المتغيرات داخل الإجراءات. حتى الإجراءات التي تكتبها داخل وحدات نمطية لا تكون مرئية خارج الوحدة إلا إذا تم تعريفها كإجراءات عامة Public.

أما العمر فيرتبط بالمتغير، وهو الوقت الذي يكون المتغير فيه موجوداً في الذاكرة بغض النظر عن المجال الذي يستطيع الوصول إليه، ويبدأ ببداية الوحدة التي يتم تعريفه فيها، وينتهي بنهايتها. هذه الوحدة قد تكون نموذجاً، أو إجراءاً، أو عبارة شرطية أو تكرارية أو حتى وحدة نمطية تستمر باستمرار البرنامج ككل. لاحظ أن المتغير قد يكون حياً، أي أن عمره لم ينته بعد، ولا يمكن الوصول إليه من بعض الأماكن بسبب محدودية المجال.

يمكن أن نمدد تعريف العمر على الإجراء باعتباره الوقت الذي يمكن استدعاؤه فيه من نموذجه، وهو الوقت الذي يعمل فيه نموذجه. وهكذا بالنسبة لمثالنا أعلاه، كان كلاً من الإجرائين حياً، لكن مجالهما غير مشترك، وتم توسيع المجال باستخدام المعرف Public.

والله أعلم

#10

post-148704-1257957635_thumb.gif

أخى / أحمد مبارك الحيقي .. لك منى ألف ألف post-148704-1257957851_thumb.gif و post-148704-1257957851_thumb.gif 

 السادة الأفاضل الكرام/ اكسيرالحياة .. يوسف احمد ..أنا فى غاية الأسف للإزعاج و لكن..

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

يقوم الزر فى النموذج2 بإختبار comobox   فى النموذج4 إن كان خالياً أم لا فإن وجده خالياً يعطى رسالة بذلك ثم إستدعاء الزر فى النموذج3

post-148704-1257958999_thumb.gif

تم تعديل هذه المشاركة بواسطة bakkar2000 في 11 نوفمبر 2009 في 20:17

#11

أخي أحمد:

سرعة ردك دليل على كرمك ولغة الشرح والاسلوب دليل على علمك. زادك الله من العلم ماتنفع به البشرية جمعاء وجعله في ميزان حسناتك. لك مني تقديري وإعجابي.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…