![]() |
|
إخفاء واجهة الاكسس - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94) +--- قسم : مايكرسوفت أكسيس Microsoft Access (http://vb4arb.com/vb/forumdisplay.php?fid=170) +--- الموضوع : إخفاء واجهة الاكسس (/showthread.php?tid=21886) |
إخفاء واجهة الاكسس - مهندس_خالد - 26-09-17 قمت بعمل برنامج بالأكسس 2007 عبارة عن بنك اسئلة للطلاب كيف يمكن ان اخفى شاشات الاكسس من جداول و إستعلامات و تقارير و لا يظهر فقط إلا النماذج مع عدم إمكانية الطلاب لتعديل و مشاهدة تصميم قاعدة البيانات وهل يمكن تشغيلة على موقع المدرسة تقبلوا شكرى و إمتنانى RE: إخفاء واجهة الاكسس - صفا بلس - 02-09-19 اخي العزيز سوف اقدم المساعدة المطلوبة بإذن الله ولكن ارجوك لا تنسى عمل جميع النماذج popup هام جدا 1 - نسخ هذا الكود و لصقة فى module و نسمية باى اسم فهذا لا يهم 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 ---------------------- 2- قم بعمل ماكرو أسمة mcrHide ضع بة اكشن run code و فى خانة Function ضع الكود التالى fAccessWindow ("Minimize", False, False) ------------------------------ 3 - قم بعمل ماكرو أخر أسمة mcrRestore ضع بة نفس الاكشن السابق run code و فى خانة Function ضع الكود التالى fAccessWindow ("Show", False, False) ------------------------------- 4 - الأن الخطوة الاكثر مللاً إذا كانت لديك العديد من النماذج قم بتغيير خصائص كل النماذج : popup قم بتحويلها إلى yes بدلاً من no ------------------------------- 5- فى النموذج الرئيسى الذى تريدة ان يبدأ بالفتح ضع الكود التالى : Private Sub Form_Open(Cancel As Integer) DoCmd.RunMacro "mcrHide" End Sub ----------------------------- 6 - فى كل التقارير ضع الكود التالى عند الحدث OnOpen DoCmd.RunMacro "mcrRestore" و عند الحدث OnClose DoCmd.RunMacro "mcrHide" طريقة ثانية تقوم بعمل وحدة نمطية module تضع فيها هذا الكود : 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 ثم فى النموذج الأساسى الذى يبدأ عند فتح قاعدة البيانات قم بوضع هذا الكود فى صفحة اكواد vba Private Sub Form_Open(Cancel As Integer) fSetAccessWindow (SW_HIDE) End Sub ثم بعد ذلك نقوم بتغيير خصائص كل النماذج و التقارير الموجودة فى قاعدة البيانات بحيث أنة فى التبويب الكل أو (all) أبحث عن منبثق أو popup و إجعلة نعم أو yes ثم تحتة مباشرة شكلى او مشروط modal و إجعلة نعم أو yes ثم تحتة مباشرة نمط الحوار border style إجعلة مربع حوار او dialog و كما قلت هذا فى كل التقارير و النماذج اهم شئ ضع زر إنهاء للأكسيس فى الفورم بحيث تقوم بإغلاق البرنامج منة لكى لا يبقى الأكسيس عالقاً فى الذاكرة و أخيراً فى كل التقارير ضع الكود التالى فى صفحة اكواد vba Private Sub Report_Open(Cancel As Integer) DoCmd.Maximize End Sub و ذلك لكى يعمل التقرير بملئ الشاشة و ذلك عند عرض التقرير هناك طريقة سهلة لاخفاء شاشة الاكسس هي خطوتين فقط كل ما عليك : 1. وضع هذا الكود في الوحدة النمطية Public Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Public Sub HideAccess() Call ShowWindow(Access.hWndAccessApp, 0) End Sub Public Sub ShowAccess() Call ShowWindow(Access.hWndAccessApp, 5) End Sub 2. في أول نموذج يتم فتحه ، ضع عند حدث تحميل أو حدث عند الفتح هذا الكود HideAccess RE: إخفاء واجهة الاكسس - thneyan - 13-11-19 مشكور ما قصرت بس كيف اعدل انا عليها بعد ما اخفيها وهل الزر الايمن راح يعمل ولا راح يقفل بعد لانه انا احتاج بينات الجداول |