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

اظهار النموذج فى المقدمة وليس خلف الفولدر


إذهب إلى أفضل إجابة Solved by ابوخليل,

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

السلام عليكم 

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

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

وكان عنوان الموضوع " عدم استيراد الجداول "  والحمد الله انتهت المشكلة

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

والاجمل ان يقفل هذا الفولدر او يتم تصغيره

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

اخفاء الفولدر.rar

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

عليكم السلام

اهلا بالدكتور الحلبي

 الحل عندي وهو يسير

ولكن قبل ذلك لدي ملاحظة على الكود المسؤول عن فتح قاعدة البيانات البعيدة

ما دمت جعلت النموذج f1 يقلع عند الفتح فأرى ان السطر الخاص بفتحه لا داعي له .. فالأفضل تعطيله


    .DoCmd.RunCommand acCmdAppMinimize
    .OpenCurrentDatabase strPath, , "123"
    '.DoCmd.OpenForm "f1", , , , , acWindowNormal

بالنسبة للحل

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

غالبا .. بل دائما .. لا نقوم بتشغيل برامجنا بالدخول على مجلدات البرنامج

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

سيخنا الجليل ومعلمنا ورافع مشاكلنا الاستاذ @ابوخليل

15 دقائق مضت, ابوخليل said:

ما دمت جعلت النموذج f1 يقلع عند الفتح فأرى ان السطر الخاص بفتحه لا داعي له .. فالأفضل تعطيله

فعلا كلامك صح قمت بحذف السطر الخاص بفتح النموذج وفعلا كل شئى تمام

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

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

ربنا يبارك فى حضرتك وفى مساعداتك المستمرة لنا ويجعلك خير عونا لنا

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

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

الحلول موجودة

جرب اغلاق الأمامية قبل فتح البعيدة

قد تظهر الأمامية كلمحة .. تحديد زمن الظهور بيدك .. في التايمر .. انا جعلته 100 .. اي جزء من 10 من الثانية .. 

جرب بالزيادة او النقص لترى النتيجة

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

اخفاء الفولدر2.rar

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

12 دقائق مضت, ابوخليل said:

جرب بالزيادة او النقص لترى النتيجة

الله يبارك لك ويطول عمرك

ما نقدر نقوم بتصغير الفولدر او اغلاقه يكون افضل

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

نقدر طبعا ليه لا

ولكن هذه عملية اخرى خارج عمل قاعدة البيانات ، وهي تخص وندوز

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

ومع ذلك اعتقد يمكننا اغلاقه من داخل قاعدة البيانات

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

17 دقائق مضت, ابوخليل said:

ومع ذلك اعتقد يمكننا اغلاقه من داخل قاعدة البيانات

ياريت 

انا بحاول من عندى ان احقق ذلك عن طريق البحث فى كل مواضيع النت وجوجل

وان شاء الله يكون هناك حل

انا اكن لكم كل احترام وتقدير وجزاك الله خيرا عن مساعدتك لى

 

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

9 ساعات مضت, ابوخليل said:

تفضل

الله الله الله الله عليك معملنا ومنقذنا الشيخ الجليل @ابوخليل

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

الله يبارك فى صحتك وعافيتك ويرحم والديك ويبارك فى رزقك شيخنا الجليل

جزاك الله كل خير  تم المطلوب على خير

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

10 ساعات مضت, ابوخليل said:

تفضل

Dim i As Object
    Set i = CreateObject("shell.application")
     Dim x As Variant
    For Each x In i.Windows
          x.Quit
    Next x

 

اخفاء الفولدر3.rar 731.6 kB · 2 downloads

مشاركةً مع أستاذي ومعلمي الجليل :wub:

عجبتني فكرة الكود العجيب الذي طرحه معلمي الفاضل @ابوخليل ، لدرجة إنه جعلني اتمعن في آليته .. فوجدت أنه يقوم بإغلاق المجلد الذي تم فتحه أولاً .!!.

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

 

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

نقوم أولاً بإنشاء الدالة التالية :-

Sub CloserWindow(targetPath As String)
    Dim shellApp As Object
    Dim window As Object
    Dim folderPath As String
    Set shellApp = CreateObject("Shell.Application")
    For Each window In shellApp.Windows
        If InStr(1, window.FullName, "explorer.exe", vbTextCompare) > 0 Then
            On Error Resume Next
            folderPath = window.Document.Folder.Self.Path
            On Error GoTo 0
            If folderPath = targetPath Then
                window.Quit
            End If
        End If
    Next window
    Set shellApp = Nothing
End Sub

ثم نستدعي الدالة من أي مكان وأي وظيفة كالآتي :-

    Dim targetPath As String
    targetPath = CurrentProject.Path
    CloserWindow targetPath

حيث هنا تم تحديد المسار الذي نريد اغلاقه بشكل مباشر :yes: .

تم تعديل بواسطه Foksh
  • Like 1
رابط هذا التعليق
شارك

3 ساعات مضت, Foksh said:

حيث هنا تم تحديد المسار الذي نريد اغلاقه بشكل مباشر

استاذى الفاضل @Foksh

هل حضرتك جربت تطبيق هذه الدالة على المثال ؟

اذا كنت جربت فياريت ترفق لى المثال بعد تظبيق الدالة عليه

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

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

هذه هي دالة الاستاذ فادي

والمثال المرفق بعد تطبيق الدالة عليه

اختر منهما ما شئت .. المهم هو ظهور النموذج امام المجلد

على فكرة .. انا في جهازي افتح المجلدات في الإطار نفسه ... وعندما اكون بحاجة للعودة الى مجلد معين افتح الخصائص (كلك يمين) وافتحه في نافذة جديدة

 

اخفاء الفولدر4.rar

  • Thanks 1
رابط هذا التعليق
شارك

منذ ساعه, ابوخليل said:

اختر منهما ما شئت .. المهم هو ظهور النموذج امام المجلد

فعلا قد تم عدم اظهار الفولدر فى  مثال الاستاذ / فادى

وسوف اختار الاصلح منهما  لى ان شاء الله

جزاك الله خير شيخنا الجليل

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

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

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



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

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

Important Information