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

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

قام بنشر

كنت أريد أن أقوم بإخفاء شاشة الاكسيس ، فقمت بالبحث فى المنتديات الاجنبية و وجدت هذة الطريقة و جربتها و كانت سليمة 100 %

و نبدأ بالخطوات :

1 - نسخ هذا الكود و لصقة فى module و نسمية باى اسم فهذا لا يهم

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long

Dim dwReturn As Long

Const SW_HIDE = 0

Const SW_SHOWNORMAL = 1

Const SW_SHOWMINIMIZED = 2

Const SW_SHOWMAXIMIZED = 3

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _

ByVal nCmdShow As Long) As Long

Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean

If Procedure = "Hide" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

End If

If Procedure = "Show" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

If Procedure = "Minimize" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)

End If

If SwitchStatus = True Then

If IsWindowVisible(hWndAccessApp) = 1 Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

Else

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

End If

If StatusCheck = True Then

If IsWindowVisible(hWndAccessApp) = 0 Then

fAccessWindow = False

End If

If IsWindowVisible(hWndAccessApp) = 1 Then

fAccessWindow = True

End If

End If

End Function<!--c2--></div><!--ec2-->----------------------

2- قم بعمل ماكرو أسمة mcrHide

ضع بة اكشن run code

و فى خانة Function ضع الكود التالى

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--> fAccessWindow ("Minimize", False, False)<!--c2--></div><!--ec2-->------------------------------

3 - قم بعمل ماكرو أخر أسمة mcrRestore

ضع بة نفس الاكشن السابق run code

و فى خانة Function ضع الكود التالى

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--> fAccessWindow ("Show", False, False)<!--c2--></div><!--ec2-->-------------------------------

4 - الأن الخطوة الاكثر مللاً إذا كانت لديك العديد من النماذج

قم بتغيير خصائص كل النماذج : popup قم بتحويلها إلى yes بدلاً من no

-------------------------------

5- فى النموذج الرئيسى الذى تريدة ان يبدأ بالفتح

ضع الكود التالى :

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Sub Form_Open(Cancel As Integer)

DoCmd.RunMacro "mcrHide"

End Sub<!--c2--></div><!--ec2-->-----------------------------

6 - فى كل التقارير ضع الكود التالى

عند الحدث OnOpen

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->DoCmd.RunMacro "mcrRestore"<!--c2--></div><!--ec2-->و عند الحدث OnClose

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->DoCmd.RunMacro "mcrHide"<!--c2--></div><!--ec2-->-------------------------------

و بهذا تكون قد إنتهت الخطوات

ربما تظهر انها خطوات طويلة ، لكنها طريقة فعالة جداً و تعطى منظر إحترافى جميل للبرنامج

و اعتذر للإطالة

و تحياتى للجميع

عاشت ايدك اخي الكريم

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

قام بنشر

كنت أريد أن أقوم بإخفاء شاشة الاكسيس ، فقمت بالبحث فى المنتديات الاجنبية و وجدت هذة الطريقة و جربتها و كانت سليمة 100 %

و نبدأ بالخطوات :

1 - نسخ هذا الكود و لصقة فى module و نسمية باى اسم فهذا لا يهم

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long

Dim dwReturn As Long

Const SW_HIDE = 0

Const SW_SHOWNORMAL = 1

Const SW_SHOWMINIMIZED = 2

Const SW_SHOWMAXIMIZED = 3

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _

ByVal nCmdShow As Long) As Long

Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean

If Procedure = "Hide" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

End If

If Procedure = "Show" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

If Procedure = "Minimize" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)

End If

If SwitchStatus = True Then

If IsWindowVisible(hWndAccessApp) = 1 Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

Else

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

End If

If StatusCheck = True Then

If IsWindowVisible(hWndAccessApp) = 0 Then

fAccessWindow = False

End If

If IsWindowVisible(hWndAccessApp) = 1 Then

fAccessWindow = True

End If

End If

End Function<!--c2--></div><!--ec2-->----------------------

2- قم بعمل ماكرو أسمة mcrHide

ضع بة اكشن run code

و فى خانة Function ضع الكود التالى

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--> fAccessWindow ("Minimize", False, False)<!--c2--></div><!--ec2-->------------------------------

3 - قم بعمل ماكرو أخر أسمة mcrRestore

ضع بة نفس الاكشن السابق run code

و فى خانة Function ضع الكود التالى

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--> fAccessWindow ("Show", False, False)<!--c2--></div><!--ec2-->-------------------------------

4 - الأن الخطوة الاكثر مللاً إذا كانت لديك العديد من النماذج

قم بتغيير خصائص كل النماذج : popup قم بتحويلها إلى yes بدلاً من no

-------------------------------

5- فى النموذج الرئيسى الذى تريدة ان يبدأ بالفتح

ضع الكود التالى :

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Sub Form_Open(Cancel As Integer)

DoCmd.RunMacro "mcrHide"

End Sub<!--c2--></div><!--ec2-->-----------------------------

6 - فى كل التقارير ضع الكود التالى

عند الحدث OnOpen

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->DoCmd.RunMacro "mcrRestore"<!--c2--></div><!--ec2-->و عند الحدث OnClose

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->DoCmd.RunMacro "mcrHide"<!--c2--></div><!--ec2-->-------------------------------

و بهذا تكون قد إنتهت الخطوات

ربما تظهر انها خطوات طويلة ، لكنها طريقة فعالة جداً و تعطى منظر إحترافى جميل للبرنامج

و اعتذر للإطالة

و تحياتى للجميع

عاشت ايدك اخي الكريم

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

قام بنشر

ألف شكر أخ التقنى على تثبيت الموضوع

و الحقيقة أننى أيضاً تعلمت طريقة اخرى من الأخت و الأستاذة زهرة

أيضاً تعمل بكفاءة و احب ان أفيد بها الزملاء فى منتدى اوفيسنا و هى كالتالى :

تقوم بعمل وحدة نمطية module تضع فيها هذا الكود :

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Global Const SW_HIDE = 0

Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)

Dim loX As Long

Dim loForm As Form

loX = apiShowWindow(hWndAccessApp, nCmdShow)

End Function<!--c2--></div><!--ec2-->

ثم فى النموذج الأساسى الذى يبدأ عند فتح قاعدة البيانات قم بوضع هذا الكود فى صفحة اكواد vba

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Sub Form_Open(Cancel As Integer)

fSetAccessWindow (SW_HIDE)

End Sub<!--c2--></div><!--ec2-->

ثم بعد ذلك نقوم بتغيير خصائص كل النماذج و التقارير الموجودة فى قاعدة البيانات

بحيث أنة فى التبويب الكل أو (all)

أبحث عن منبثق أو popup و إجعلة نعم أو yes

ثم تحتة مباشرة شكلى او مشروط modal و إجعلة نعم أو yes

ثم تحتة مباشرة نمط الحوار border style إجعلة مربع حوار او dialog

و كما قلت هذا فى كل التقارير و النماذج

<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--> اهم شئ ضع زر إنهاء للأكسيس فى الفورم بحيث تقوم بإغلاق البرنامج منة لكى لا يبقى الأكسيس عالقاً فى الذاكرة <!--colorc--></span><!--/colorc-->

و أخيراً فى كل التقارير ضع الكود التالى فى صفحة اكواد vba

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize

End Sub<!--c2--></div><!--ec2-->

و ذلك لكى يعمل التقرير بملئ الشاشة و ذلك عند عرض التقرير

و مرفق مثال على هذا من عمل الاخت زهرة

و تحياتى للجميع

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

صباح الخير

كل عام وانتم بخير / رمضان كريم

السؤال هو اين يوجد مربع حوار بدء التشغيل في اكسس 2007 او 2010 .

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

مع الشكر والتقدير .

قام بنشر

ألف شكر أخ التقنى على تثبيت الموضوع

و الحقيقة أننى أيضاً تعلمت طريقة اخرى من الأخت و الأستاذة زهرة

أيضاً تعمل بكفاءة و احب ان أفيد بها الزملاء فى منتدى اوفيسنا و هى كالتالى :

تقوم بعمل وحدة نمطية module تضع فيها هذا الكود :

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Global Const SW_HIDE = 0

Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)

Dim loX As Long

Dim loForm As Form

loX = apiShowWindow(hWndAccessApp, nCmdShow)

End Function<!--c2--></div><!--ec2-->

ثم فى النموذج الأساسى الذى يبدأ عند فتح قاعدة البيانات قم بوضع هذا الكود فى صفحة اكواد vba

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Sub Form_Open(Cancel As Integer)

fSetAccessWindow (SW_HIDE)

End Sub<!--c2--></div><!--ec2-->

ثم بعد ذلك نقوم بتغيير خصائص كل النماذج و التقارير الموجودة فى قاعدة البيانات

بحيث أنة فى التبويب الكل أو (all)

أبحث عن منبثق أو popup و إجعلة نعم أو yes

ثم تحتة مباشرة شكلى او مشروط modal و إجعلة نعم أو yes

ثم تحتة مباشرة نمط الحوار border style إجعلة مربع حوار او dialog

و كما قلت هذا فى كل التقارير و النماذج

<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--> اهم شئ ضع زر إنهاء للأكسيس فى الفورم بحيث تقوم بإغلاق البرنامج منة لكى لا يبقى الأكسيس عالقاً فى الذاكرة <!--colorc--></span><!--/colorc-->

و أخيراً فى كل التقارير ضع الكود التالى فى صفحة اكواد vba

<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1-->Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize

End Sub<!--c2--></div><!--ec2-->

و ذلك لكى يعمل التقرير بملئ الشاشة و ذلك عند عرض التقرير

و مرفق مثال على هذا من عمل الاخت زهرة

و تحياتى للجميع

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

صباح الخير

كل عام وانتم بخير / رمضان كريم

السؤال هو اين يوجد مربع حوار بدء التشغيل في اكسس 2007 او 2010 .

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

مع الشكر والتقدير .

  • 2 years later...
  • 1 year later...
  • 3 months later...
  • 2 weeks later...
  • 10 months later...
  • 1 month later...
  • 1 year later...
  • 6 months later...
قام بنشر

عمل أكثر من رائع، ومجهود مشكور لجميع الأخوة المشاركين فيه

جزاكم الله خيراً عنا

 

  • 10 months later...
قام بنشر

الاخوة الكرام

السلام عليكم

مشكورين على المجهودات

ولكني حاولت مع جميع الكودات السابقة

لكن عند ضغط زر فتح التقرير اما يعطيني رسالة الخطأ OLE

او يفتح التقرير ولا يظهر على الشاشة

من يرشدني من فضلكم

قام بنشر (معدل)

تفضل @solomoon

1- أجعل تحت زر هذا الامر

DoCmd.OpenReport "InvoiceH_rpt", acPreview

حيث أن InvoiceH_rpt اسم التقرير المراد عرضة

2- عدل تنسيق التقرير كما بالصورة

 

01.png.51f11327bb13b764ce2244c0e42e1828.png

تم تعديل بواسطه qathi
  • 2 weeks later...
قام بنشر

الشكر موصول لك يا استاذ لكن الامر لم ينجح للاسف

لو ممكن ترسل لي كود لاخفاء الاكسس مع امكانية اظهار التقارير

لان المود الذي اتوفر عليه هو يخفي فعليا كل واجهة اكسس

لكن مشكله هو التقارير التي تظهر

شكرا لك من جديد

  • 5 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information