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

فتح نموذج من ملف أكسس أخر

مغلق
بدأه ezat90 في 22 يوليو 2006 · 4 رد · 4,736 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي سؤال أرجو من الأخوة الأعزاء أن يفيدوني فيه :

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

مع تحياتي .

#2

اخي الفاضل

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

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

1. لنفرض ان لدينا قاعدتي بيانات الاولى اسمها MyDB1.mdb والثانية اسمها MyDB2.mdb وكلا القاعدتين موجودتان في مجلد على محرك الاقراص C بهذا الشكل

C:\zahrah\MyDB1.mdb

C:\zahrah\MyDB2.mdb

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

ولكن دعنا نفترض انهم في مجلد واحد C:\zahrah

2. نفتح النموذج الاول وليكن اسمه مثلا FORM1 في قاعدة البيانات الاولى MyDB1.mdb في وضع التصميم

3. ننتقل الى شريط قوائم الاكسيس ونختار ادوات ثم نختار بدء التشغيل ونضع النموذج المراد فتحه

3. ننشأ زر امر وليكن اسمه مثلا OPEN لفتح النموذج الاخر في قاعدة البيانات الثانية

4. ننشأ مربع نص غير منضم على النموذج وليكن اسمه مثلا MyTimer

نطبق هذه الخطوات على قاعدة البيانات الثانية

. نفتح النموذج الاول وليكن اسمه مثلا FORM2 في قاعدة البيانات الاولى MyDB2.mdb في وضع التصميم

3. ننتقل الى شريط قوائم الاكسيس ونختار ادوات ثم نختار بدء التشغيل ونضع النموذج المراد فتحه

3. ننشأ زر امر وليكن اسمه مثلا OPEN للعودة الى قاعدة البيانات الاولى

4. ننشأ مربع نص غير منضم على النموذج وليكن اسمه مثلا MyTimer

5. نضع في حدث عند النقر لزر الامر OPEN في كلا القاعدتين هذا الكود

Private Sub OPEN_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE C:\zahrah\MyDB2.mdb"), vbNormalFocus
End Sub

حيث سيقوم برنامج Shell الخاص بفتح الملفات في الويندوز بفتح برنامج الاكسيس ثم فتح قاعدة البيانات الثانية MyDB2 الموجوده في المجلد C:\zahrah

ملاحظة : لاحظ انه في الكود يوجد OFFICE11 وهذا خاص بإصدارة اكسيس 2003 فإذا كنت تستخدم اكسيس 2002 او XP فقم بالتغيير الى OFFICE10 واذا كنت تستخدم اكسيس 2000 فقم بالتغيير الى OFFICE9

نقوم الان بالتجربه

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

بواسطة المؤقت وليس يدويا لانه سوف يغلق معه النموذج ايضا وبهذا لا نكون قد استفدنا من الكود السابق اذن يجب اضافة كود جديد خاص بالتوقيت يقوم بإغلاق برنامج اللاكسيس المفتوح بعد

فتح النموذج في اي من القاعدتين لهذا نتذكر اننا وضعنا مربع نص غير منضم في كلا القاعدتين لاستخدامه كعداد تنازلي لغلق برنامج الاكسيس المفتوح لذا سنظيف لكلا القاعدتين الكود التالي

هذا في القاعدة الاولى

Private Sub OPEN_Click()
Me.TimerInterval = 1000
Me.MyTimer = 1
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE C:\zahrah\MyDB2.mdb"), vbNormalFocus
End Sub

وهذا في القاعدة الثانية

Private Sub OPEN_Click()
Me.TimerInterval = 1000
Me.MyTimer = 1
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE C:\zahrah\MyDB1.mdb"), vbNormalFocus
End Sub

تلاحظ انه تم فقط اضافة المؤقت في بداية الكود

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

وطالما اننا نتحدث عن مؤقت فلابد من وضع كود العداد الزمني في حدث عند عداد الوقت في كلا القاعدتين

Private Sub Form_Timer()
If Me.MyTimer > 0 Then
Me.MyTimer = Me.MyTimer - 1
Me.TimerInterval = 0
DoCmd.Quit
End If
End Sub

هذا الكود فائدته غلق برنامج الاكسيس نهائيا Quit وليس Close فقط اذا كان الوقت اكبر من صفر ثانية زبالطبع نحن اخترنا في الكود السابق ان يكون الوقت هو واحد ثانية فقط لدرجة انك

لن تشعر بالنموذج او القاعدة اثناء الفتح والاغلاق لان العملية تتم بسرعه

بالنسبة لمربع النص الغير منضم MyTimer يمكن اخفاؤه او تصغير حجمه الى اقل ما يمكن بحث لا يظهر على النموذج

وهذا مثال تطبيقي على الشرح السابق

ملاحظة : تستطيع تغيير اماكن قواعد البيانات ولكن يجب تغييرها ايضا في الكود الطويل الخاص بالـ Shell

الموقع الافتراضي لهذا الملف هو المجلد C:\zahrah

zahrah.rar

بالتوقيق

اختكم

زهره

تم تعديل هذه المشاركة بواسطة zahrah في 22 يوليو 2006 في 13:52

#3

أخت زهرة شكرا جزيلا لك

ويعطيكي ألف عافية

مع تحياتي .

#4

جزاك الله بكل خير

#5

مثال جميل جدا

ولكن ماذا أعمل لو أردت تعديل أي من سجلات الجدول الأول بحيث يتم التعديل تلقائيا في الجدول الآخر؟

وما فائدة زر الحفظ لأن الحفظ يتم تلقائيا حتى لو لم اضغط على زر الحفظ (كيف يتم تفعيل الحفظ)

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

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